{"id":25023248,"url":"https://github.com/corey-richardson/course-progress-tracker","last_synced_at":"2026-05-09T01:09:44.594Z","repository":{"id":189236121,"uuid":"680303418","full_name":"corey-richardson/course-progress-tracker","owner":"corey-richardson","description":"A Flask web application that can be used to track which courses and university modules I have completed and which I have yet to finish.","archived":false,"fork":false,"pushed_at":"2024-09-27T17:09:07.000Z","size":45535,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-05T14:40:58.648Z","etag":null,"topics":["css","flask","html","python3","pythonanywere","sql","sqlite3"],"latest_commit_sha":null,"homepage":"http://coreyrichardson.pythonanywhere.com/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/corey-richardson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-08-18T21:15:16.000Z","updated_at":"2024-09-27T17:09:17.000Z","dependencies_parsed_at":"2025-02-05T14:50:15.883Z","dependency_job_id":null,"html_url":"https://github.com/corey-richardson/course-progress-tracker","commit_stats":null,"previous_names":["corey-richardson/course-progress-tracker"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corey-richardson%2Fcourse-progress-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corey-richardson%2Fcourse-progress-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corey-richardson%2Fcourse-progress-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corey-richardson%2Fcourse-progress-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/corey-richardson","download_url":"https://codeload.github.com/corey-richardson/course-progress-tracker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246320130,"owners_count":20758407,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["css","flask","html","python3","pythonanywere","sql","sqlite3"],"created_at":"2025-02-05T14:39:07.991Z","updated_at":"2026-05-09T01:09:39.572Z","avatar_url":"https://github.com/corey-richardson.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Course Progress Tracker\n#### [Video Demo](https://www.youtube.com/watch?v=7JPFLDDc1sU)\n\n[![wakatime](https://wakatime.com/badge/user/55c30436-1509-4eb9-9f18-fa9b7c6060c4/project/e96b0cc0-0fd1-40dc-907e-82d0faf4550e.svg)](https://wakatime.com/badge/user/55c30436-1509-4eb9-9f18-fa9b7c6060c4/project/e96b0cc0-0fd1-40dc-907e-82d0faf4550e)\n\n#### Description:\n\nCourse Progress Tracker is a Flask Web Application that allows the user to track their enrollments to online courses and university modules. The database is maintained by `sqlite3` in `courses.db`, consisting of tables `users` and `courses`.\n\n```\nsqlite\u003e .schema\nCREATE TABLE users (id INTEGER, username TEXT NOT NULL UNIQUE, hash TEXT NOT NULL, PRIMARY KEY(id));\nCREATE TABLE courses (id INTEGER, user_id INTEGER NOT NULL, name TEXT NOT NULL UNIQUE, url TEXT, topics TEXT NOT NULL, desc TEXT NOT NULL, provider TEXT NOT NULL, is_complete BOOL NOT NULL, is_course BOOL NOT NULL, PRIMARY KEY(id));\n```\n\n```\n+----+------------------+--------+\n| id |     username     |  hash  |\n+----+------------------+--------+\n| 1  | corey-richardson | ...... |\n| 2  | test-user        | ...... |\n+----+------------------+--------+\n```\n```\n+----+---------+-------+------+---------+----------------------------------+-------------------------+-------------+-----------+\n| id | user_id | name  | url  | topics  |               desc               |        provider         | is_complete | is_course |\n+----+---------+-------+------+---------+----------------------------------+-------------------------+-------------+-----------+\n| 18 | 2       | CS101 | NULL | CompSci | A course about Computer Science. | University of Somewhere | 1           | 1         |\n+----+---------+-------+------+---------+----------------------------------+-------------------------+-------------+-----------+\n```\n\nRoute | Page Name | Description\n---   | ---       | ---\n`/`   | Homepage  | Displays all of the currently signed in users courses. If they have none, prompt them to add one via the `/add` route.\n`/register` | Register | HTML form to allow the user to add a new account to the `users` table. Username must be unique. Password field must be typed twice and match.\n`/login` | Log In | HTML form to allow the user to enter their username and password. This is compared with hashed data from the `users` table. All following routes require the user to be logged in to access them.\n`/modules` | Homepage  | Displays all of the currently signed in users university. If they have none, prompt them to add one via the `/add` route.\n`/add` | Add | HTML form to add a new course or module to the database.\n`/update` | Update | HTML form to allow the user to modify the completition status of one of their courses or modules.\n`/drop` | Drop | HTML form to allow the user to drop one of their enrollments from the database.\n\n---\n\nTo pull changes into PythonAnywhere:\n```\ngit checkout main\ngit pull origin main\n```\n\nTo push changes from PythonAnywhere:\n```\ncd home/coreyrichardson\ngit add .\ngit commit -m \"\u003cmsg\u003e\"\ngit push origin main\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcorey-richardson%2Fcourse-progress-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcorey-richardson%2Fcourse-progress-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcorey-richardson%2Fcourse-progress-tracker/lists"}