Skip to content

mscbuild/CourseTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

29 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š CourseTracker

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.

πŸš€ Features

  • πŸ” 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

🎬 Demo

GUI Preview:

  • List of courses

  • Progress bar showing completion percentage

  • Mark selected courses as completed

  • Export to Excel

πŸ›  Installation

1.Clone the repository

git clone https://github.com/mscbuild/CourseTracker.git
cd CourseTracker

2.Install dependencies

pip install -r requirements.txt

3.Initialize the database (optional, happens automatically):

python cli.py list

πŸ’» CLI Usage

  • 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.xlsx

πŸ–₯ GUI Usage

python gui.py

GUI Features:

  • πŸ“‹ Course list with platform and completion status

  • βœ… Mark courses as completed

  • πŸ“Š Dynamic progress bar showing percentage completed

  • πŸ’Ύ Export courses to courses_export.xlsx

πŸ“ Project Structure

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

πŸ”§ Technologies

  • Python 3.10+

  • CLI: Click

  • GUI: PyQt5

  • Web parsing: Requests + BeautifulSoup

  • Database: SQLite

  • Data export: pandas

πŸ“Œ How it works

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.

πŸ“ˆ Future Improvements

  • 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

🀝 Contributing

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

πŸ“„ License

This project is licensed under the MIT License.

About

πŸŽ“ CourseTracker β€” CLI/GUI application for tracking online courses, parsing them from platforms like Coursera and Udemy, tracking progress, and exporting your course data.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages