EdgeRoute is a Flask-based web application that provides interactive learning roadmaps for various technology paths. Users can track their progress through roadmaps, participate in discussions, and manage their learning journey.
- Interactive Roadmaps: Explore detailed learning paths for various technologies
- Progress Tracking: Mark topics as completed and track your learning progress
- User Profiles: Personalized profiles showing your progress and activity
- Discussion: Comment on roadmap topics to share insights or ask questions
- Dark Mode: Toggle between light and dark themes for comfortable viewing
- Responsive Design: Works on desktop, tablet, and mobile devices
-
Clone the repository:
git clone https://github.com/manish12ys/edgeroute.git cd edgeroute -
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
Install dependencies:
pip install -r requirements.txt -
Set up environment variables (optional):
# Create a .env file with the following variables FLASK_APP=run.py FLASK_ENV=development SECRET_KEY=your-secret-key -
Initialize the database:
python run.py
-
Start the development server:
python run.py -
Open your browser and navigate to:
http://127.0.0.1:5000/ -
Register a new account or log in with the default admin account:
Email: admin@example.com Password: admin123
edgeroute/
├── app/ # Application package
│ ├── api/ # API routes
│ ├── auth/ # Authentication routes
│ ├── errors/ # Error handlers
│ ├── main/ # Main routes
│ ├── roadmap/ # Roadmap routes
│ ├── static/ # Static files (CSS, JS, images)
│ ├── templates/ # HTML templates
│ ├── __init__.py # Application factory
│ ├── forms.py # Form classes
│ └── models.py # Database models
├── roadmap_data/ # JSON files for roadmap content
├── migrations/ # Database migrations
├── config.py # Configuration settings
├── requirements.txt # Dependencies
└── run.py # Application entry point
- Create a new JSON file in the
roadmap_datadirectory - Add the roadmap metadata to
roadmap_data/roadmaps.json - Import the roadmap using the admin interface
- Log in to your account
- Click on "Create Custom Roadmap" in the navigation menu
- Fill in the roadmap details and submit
- Add nodes to your roadmap with titles, descriptions, and resource links
- Publish your roadmap to make it available to other users
When making changes to the database models:
flask db migrate -m "Description of changes"
flask db upgrade
EdgeRoute can be easily deployed on Render using the included configuration files.
- Fork or clone this repository to your GitHub account
- Connect your GitHub repository to Render
- Create a new Web Service in Render and select your repository
- Render will automatically detect the
render.yamlconfiguration - Set up the required environment variables:
DATABASE_URL: Your PostgreSQL connection string (from Supabase)SECRET_KEY: A secure random stringFLASK_APP: Set toappFLASK_ENV: Set toproductionSUPABASE_URL: Your Supabase project URLSUPABASE_KEY: Your Supabase anon keySUPABASE_SERVICE_KEY: Your Supabase service key
- Deploy the application
Render automatically deploys new changes when you push to your repository's main branch.
This project is licensed under the MIT License - see the LICENSE file for details.