https://github.com/hasnainhsa/assignment-tracker
https://github.com/hasnainhsa/assignment-tracker
assignment python streamlit webapp
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/hasnainhsa/assignment-tracker
- Owner: HasnainHSA
- Created: 2025-03-09T13:36:40.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-09T14:19:52.000Z (over 1 year ago)
- Last Synced: 2025-03-09T15:24:42.247Z (over 1 year ago)
- Topics: assignment, python, streamlit, webapp
- Language: Python
- Homepage: https://assignment-tracker.streamlit.app
- Size: 102 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
Here’s the completed `README.md` in proper Markdown format, structured as a typical README file with clear sections and consistent formatting. It’s ready to be dropped into your project directory.
---
# Assignment Tracker
A sleek, dark-mode assignment tracker built with **Streamlit** to help you manage your university workload. Add assignments, track their completion, monitor progress with charts, and stay organized—all with a minimalist vibe.
## Features
- **Add Assignments**: Input assignment names and due dates with an intuitive form.
- **Track Progress**: Mark assignments as "Done" and see your progress with a smooth progress bar.
- **Visual Insights**:
- Pie chart showing the current status (Completed vs. Pending).
- **Persistent Storage**: Assignments and history are saved to a JSON file (`assignments.json`).
- **Dark Mode UI**: Custom CSS with smooth animations, hover effects, and a modern aesthetic.
- **History Tracking**: Logs actions like adding, completing, or deleting assignments.
- **Clear All**: Reset everything with a single button for a fresh start.
## Prerequisites
- **Python 3.8+**: Ensure Python is installed on your system.
- A terminal or command-line interface to install dependencies and run the app.
---
## Installation
1. **Clone the Repository** (or download the code):
```bash
git clone
cd minimalist-assignment-tracker
```
2. **Set Up a Virtual Environment** (optional but recommended):
```bash
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
3. **Install Dependencies**:
```bash
pip install -r requirements.txt
```
4. **Run the Application**:
```bash
streamlit run app.py
```
Open your browser to `http://localhost:8501` to start tracking!
---
## Usage
1. **Add an Assignment**:
- Enter the assignment name (e.g., "CS101 Essay") and select a due date.
- Click "Add Assignment" to save it.
2. **Track Assignments**:
- View all assignments sorted by due date.
- Mark them as "Done" with the checkbox or delete them with the "Delete" button.
3. **Monitor Progress**:
- Check the progress bar and pie chart to see how you’re doing.
4. **Clear All**:
- Hit "Clear All Assignments" to wipe the slate clean.
---
## File Structure
- `app.py`: The main application code.
- `assignments.json`: Auto-generated file to store assignments and history.
- `requirements.txt`: List of Python dependencies.
- `README.md`: This file.
---
## Dependencies
See `requirements.txt` for the full list. Key libraries include:
- `streamlit`: Web app framework.
- `matplotlib`: For generating charts.
- Standard Python libraries: `datetime`, `json`, `os`, `collections`.
---
## Screenshots
Here’s what you’ll see when you run the app:
1. **Main Interface**
- A dark-themed layout with a bold "Minimalist Assignment Tracker" title.
- Below, a form to add assignments with a glowing "Add Assignment" button on hover.
- Assignments listed in neat cards, showing due dates and days left (or "Overdue!" in red).
2. **Progress Section**
- A green progress bar fills up as you complete tasks.
- A pie chart in green and red shows the split between Completed and Pending assignments.
3. **Assignment Card**
- Each card has a checkbox to mark "Done" and a "Delete" button that pops with a shadow effect on hover.
- Overdue assignments stand out with red text—impossible to miss!
*Note: Add real screenshots by dragging images into your repo and linking them here (e.g., ``).*
---
## Notes
- The app saves data to `assignments.json` in the same directory. Don’t delete this file unless you want to reset everything!
- The pie chart updates dynamically based on completed and pending assignments.
- Overdue assignments are highlighted in red for quick visibility.
---
## Contributing
Feel free to fork this repo, tweak the code, or submit a pull request with improvements! Ideas:
- Add notifications for upcoming due dates.
- Include a filter for completed/pending assignments.
- Enhance the charts with more detailed stats (e.g., completion trends over time).
---
## License
This project is open-source under the [MIT License](LICENSE). Use it, modify it, share it—go wild!
---
## Built With
- Python & Streamlit
- Dark mode uni vibes 📚
Happy tracking!