A simple command-line tool to help students manage their assignments, track deadlines, and organize study sessions.
Perfect for learning open source contributions! This project has beginner-friendly issues ready for you to solve.
👉 New to this project? Read QUICKSTART.md for a 5-minute setup guide!
- Add and track assignments
- Set deadlines and get reminders
- Calculate grade averages
- Organize study sessions with Pomodoro timer
- Export data to JSON
# Navigate to the project directory
cd demo
# No external dependencies needed for basic functionality!
# (Optional) Install testing dependencies
pip install pytest# See all available commands
python main.py --help
# Add an assignment
python main.py add-assignment "Math Homework" --deadline "2025-12-01" --subject "Mathematics"
# List all pending assignments
python main.py list
# Mark assignment as completed
python main.py complete "Math Homework"
# Calculate your GPA
python main.py gpa
# View statistics
python main.py stats$ python main.py add-assignment "Physics Lab" --deadline "2025-11-30" --subject "Physics"
Added assignment: Physics Lab
$ python main.py add-assignment "History Essay" --deadline "2025-12-05" --subject "History"
Added assignment: History Essay
$ python main.py stats
=== Your Statistics ===
Total Assignments: 2
Completed: 0
Pending: 2
GPA: 0.00# Run all tests
python -m pytest tests/ -v
# Run specific test file
python -m unittest tests/test_utils.pydemo/
├── main.py # Entry point
├── utils.py # Utility functions
├── student_manager.py # Core functionality
├── tests/ # Test files
├── README.md # This file
├── CONTRIBUTING.md # Contribution guidelines
└── ISSUES.md # List of open issues for contributors
We welcome contributions from everyone! This project is specifically designed for learning.
- First time? Read QUICKSTART.md for a 5-minute guide
- Ready to contribute? Check CONTRIBUTING.md for detailed guidelines
- Pick an issue: Browse ISSUES.md for beginner-friendly tasks
- Beginner (Good First Issues): #1, #2, #3, #4
- Intermediate: #5, #6, #7
- Advanced: #8, #9, #10
Start with Issue #2 if you're brand new to open source - it takes less than 1 minute!
If you're an instructor using this for teaching:
- Setup (5 min): Students clone repo and run
python main.py --help - Demo (10 min): Show how to fix Issue #2 end-to-end
- Practice (45+ min): Students pick and solve issues
- Review (15 min): Discuss solutions and best practices
All issues include:
- Clear descriptions
- Expected outcomes
- Skills students will learn
- Difficulty ratings
MIT License