{"id":28515387,"url":"https://github.com/devvspaces/roadflow-api","last_synced_at":"2026-04-24T12:32:43.301Z","repository":{"id":157775527,"uuid":"625970109","full_name":"devvspaces/roadflow-api","owner":"devvspaces","description":"The platform should use machine learning algorithms to analyze each user's learning style, interests, and skill level to provide personalized tutorial recommendations.","archived":false,"fork":false,"pushed_at":"2024-11-24T11:23:09.000Z","size":361,"stargazers_count":0,"open_issues_count":9,"forks_count":0,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2025-06-09T03:05:35.021Z","etag":null,"topics":["django-application","django-rest-framework","mindsdb","mindsdb-python-sdk","swagger-ui"],"latest_commit_sha":null,"homepage":"https://roadflow.bloombyte.dev/docs/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/devvspaces.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-10T14:14:33.000Z","updated_at":"2024-11-24T11:22:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"8b2def0b-9c28-42e5-a119-c07b29d94c7c","html_url":"https://github.com/devvspaces/roadflow-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/devvspaces/roadflow-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devvspaces%2Froadflow-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devvspaces%2Froadflow-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devvspaces%2Froadflow-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devvspaces%2Froadflow-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devvspaces","download_url":"https://codeload.github.com/devvspaces/roadflow-api/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devvspaces%2Froadflow-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32223954,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T10:26:35.452Z","status":"ssl_error","status_checked_at":"2026-04-24T10:25:27.643Z","response_time":64,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django-application","django-rest-framework","mindsdb","mindsdb-python-sdk","swagger-ui"],"created_at":"2025-06-09T03:05:34.840Z","updated_at":"2026-04-24T12:32:43.291Z","avatar_url":"https://github.com/devvspaces.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Roadflow Api\n\nThis is the backend api for RoadFlow. It uses DRF for api development and MindsDB NLP Models for user reviews classification and sentiment. The API follows REST API requirements. It can be tested from the Swagger documentation or any client.\n\n## Why Roadflow?\n\nThe main reason for embarking on building this project is the understanding that most resources online are great at teaching and also misleading young developers. They focus on teaching core or necessary aspect of development but loose a lot of value due to not being organized for the learner.\n\nMany students have met me trying to understand how they can start programming. I don’t have the time to really direct them. So, I usually direct them to online videos which further confuses them. Not because the videos are not great, but because the learner doesn’t know what comes first, next, or if they following the right path.\n\n### Architecture\n\nRoadflow provides value to users by giving them structured roadmap with organized open source learning resources. Helping them to utilize those online free videos, articles and lectures effectively.\n\nIt has two main parts, API and Client. The API is built in Django and the Client which is the frontend is built in NextJs. JWT is used as the main authentication mechanism. Swagger is used for the API documentation.\n\nUsers can find courses, enroll in them, engage in projects and quizzes. They can track their progress on every enrolled courses in their dashboard.\n\n### Challenges\n\n1. Knowing the user flow, how the user experience should feel. I used other platforms like Coursera and EDX has case study.\n2. Picking a method that ensures learners understand what they learned. After learning from case studies, I built a quiz system that tests their knowledge on each modules.\n\n## Figma Design\n\nHere is a link to the [figma](https://www.figma.com/file/4sWAOaXGdd16N5AlyFVSBl/RoadTrack-Project?node-id=10-39\u0026t=J5xBuuZrD2TIcSLZ-0).\n\n## Github Project\n\nHere is a link to the [Github Project](https://github.com/users/devvspaces/projects/2/views/2?layout=board).\n\n## DB Diagram Design\n\nHere is a db diagram for the project database - [Diagram](https://dbdiagram.io/d/6437cb1c8615191cfa8d9bc1)\n\n![](./RoadflowDB.png)\n\n## Prerequisites\n\n- Python 3\n- MindsDB Python SDK\n- Redis\n\n## Installing\n\nA step by step series of examples that tell you how to get a development environment running.\n\n\u003e First you have to clone the project on your machine\n\n- Setup virtual environment\n\n    Debian\n\n    ```bash\n    python -m venv venv\n    source venv/bin/activate\n    ```\n\n    Windows\n\n    ```bash\n    python -m venv venv\n    venv\\Scripts\\activate\n    ```\n\n- Install dependencies in the project root dir\n\n    ```bash\n    pip install -r requirements.txt\n    cd src\n    mkdir logs\n    ```\n\n- Setup the env file\n\n    ```bash\n    cp env.example .env\n    ```\n\n    For the email config:\n\n    This is not required, for it is used to send OTP for account registration. Email sending is disabled by default in development.\n\n    Redis config:\n\n    If you don't have redis installed you can configure `settings/base.py` to use Django Memcache. Cache is used for OTP verification.\n\n- Run migrations\n\n    ```bash\n    python manage.py migrate\n    ```\n\n\u003e The site is configured to run with SQLite but you can configure it to use postgress in production.\n\n## Running Tests\n\nPytest is heavily used for testing. To run tests, make sure you are in the `src` directory before you run the command below.\n\n```bash\npytest\n```\n\n## Running the API\n\nTo run the API on your machine. Make sure you are in the `src` directory before you run the command below.\n\n```bash\npython manage.py runserver\n```\n\nAPI server will run on `http://localhost:8000/`. Visit [Swagger](http://localhost:8000/docs/) to read the Swagger API documentation.\n\n## Deployment\n\nCheck out the deployment guide at [Deployment](./docs/DEPLOYMENT.md)\n\n## ⛏️ Built Using\n\n- [Django](https://www.djangoproject.com/) - Web Framework\n- [Django Rest Framework](https://www.django-rest-framework.org/) - Building Web APIs\n- [Redis](https://redis.io/) - In-memory data store\n- [Python](https://www.python.org/) - Programming Language\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevvspaces%2Froadflow-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevvspaces%2Froadflow-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevvspaces%2Froadflow-api/lists"}