StudyMate is a web application designed to help students manage their tasks and track their grades efficiently. With a user-friendly interface, StudyMate allows users to toggle between light and dark modes, manage to-do lists, and keep track of their academic performance.
- User Authentication: Secure login and registration system.
- Task Management: Add, edit, and delete tasks with deadlines.
- Grade Tracking: Add subjects and record grades for each quarter.
- Light/Dark Mode: Toggle between light and dark themes for better user experience.
-
Clone the Repository:
git clone https://github.com/mirixy/studymate.git cd studymate -
Install Dependencies: Ensure you have Python and pip installed, then run:
pip install -r requirements.txt
-
Set Up the Database: Initialize the database with:
flask db init flask db migrate flask db upgrade
-
Run the Application: Start the Flask development server:
flask run
-
Access the Application: Open your web browser and go to
http://127.0.0.1:5000.
- Register: Create a new account by providing a username and password.
- Login: Access your account using your credentials.
- Add Tasks: Navigate to the "Aufgaben" section to add new tasks with titles, descriptions, and deadlines.
- Edit Tasks: Modify existing tasks by clicking the "Bearbeiten" button.
- Delete Tasks: Remove tasks by clicking the "Löschen" button.
- Add Subjects: In the "Noten Tracker" section, add new subjects.
- Record Grades: Enter grades for each quarter and specify if the subject is a "Leistungskurs" (LK).
- View Grades: See a summary of your grades and total points.
- Light/Dark Mode: Use the theme toggle button to switch between light and dark modes for a comfortable viewing experience.
-
Routes: Defined in
app/routes.py, handling user authentication, task management, and grade tracking.startLine: 1 endLine: 242
-
Forms: Defined in
app/forms.py, using Flask-WTF for form handling and CSRF protection.startLine: 1 endLine: 33
-
Templates: HTML templates for different pages, such as
grades.html,add_todo.html, andbase.html.startLine: 1 endLine: 190
startLine: 1 endLine: 25
startLine: 1 endLine: 26
-
Static Files: CSS styles are defined in
app/static/style.cssfor consistent styling across the app.startLine: 309 endLine: 680
Contributions are welcome! Please fork the repository and submit a pull request for any improvements or bug fixes.
This project is licensed under the MIT License. See the LICENSE file for details.