CourseTracker β CLI/GUI application for managing and tracking your online courses. It parses courses from Coursera and Udemy, tracks progress, and allows exporting course data for easy offline review.
Perfect for learners who want a centralized system to manage their learning journey.
-
π Search courses on Coursera and Udemy by topic
-
πΎ Save courses locally in SQLite database
-
β Track completion with CLI and GUI
-
π Progress bar shows completion percentage in GUI
-
π Export courses to Excel/CSV for offline tracking
-
π₯ Cross-platform GUI with PyQt5
GUI Preview:
-
List of courses
-
Progress bar showing completion percentage
-
Mark selected courses as completed
-
Export to Excel
1.Clone the repository
git clone https://github.com/mscbuild/CourseTracker.git
cd CourseTracker2.Install dependencies
pip install -r requirements.txt3.Initialize the database (optional, happens automatically):
python cli.py list- Search for courses
python cli.py search --platform coursera --query "python"
python cli.py search --platform udemy --query "data science"- List all saved courses
python cli.py list- Mark a course as completed
python cli.py complete 1- Export courses to Excel
python cli.py export --filename my_courses.xlsxpython gui.pyGUI Features:
-
π Course list with platform and completion status
-
β Mark courses as completed
-
π Dynamic progress bar showing percentage completed
-
πΎ Export courses to courses_export.xlsx
CourseTracker/
β
βββ cli.py # Command-line interface
βββ gui.py # Graphical interface (PyQt5)
βββ parsers/ # Course parsers
β βββ __init__.py
β βββ coursera.py
β βββ udemy.py
βββ database.py # SQLite database handling
βββ requirements.txt # Python dependencies
βββ README.md # Project documentation-
Python 3.10+
-
CLI: Click
-
GUI: PyQt5
-
Web parsing: Requests + BeautifulSoup
-
Database: SQLite
-
Data export: pandas
1.CLI allows searching courses by topic on Coursera or Udemy.
2.Courses are saved in a local SQLite database.
3.CLI and GUI can list courses and mark them as completed.
4.GUI shows progress bar and dynamic completion percentage.
5.Export feature generates Excel/CSV files for offline tracking.
-
Support for additional platforms: edX, Skillshare, LinkedIn Learning
-
Notifications via Telegram or Email for new courses
-
Automated daily updates of course lists
-
Advanced GUI filters: topic, platform, rating, duration
-
Add bookmarks for important courses
We welcome contributions!
1.Fork the repository
2.Create a feature branch: git checkout -b feature/awesome-feature
3.Commit your changes: git commit -m "Add awesome feature"
4.Push to branch: git push origin feature/awesome-feature
5.Open a Pull Request
This project is licensed under the MIT License.