Skip to content

Grade Log feature #45

Description

@XavierTho

Grade Log Management Checklist

Objective:
Develop a functional system that allows authenticated users to log, view, edit, and delete their study sessions, while ensuring a smooth user experience and robust backend.


Backend Checklist

Database Setup

  • Define a GradeLog model with fields:
    • id: Primary key.
    • user_id: Foreign key to associate logs with users.
    • subject: Name of the subject studied.
    • hours_studied: Number of hours spent studying.
    • notes: Optional description or details.
    • date: Timestamp for when the session was logged.

API Development

  • [] Create API endpoints at /api/gradelog:
    • POST: Add a new study session.
    • GET: Retrieve all study sessions for the current user.
    • PUT: Update details of an existing study log.
    • DELETE: Remove a specific study log.

Image


Frontend Checklist

Interface Design

  • Develop a responsive and accessible interface:
    • Create a form for users to log study sessions with fields for Subject, Hours Studied, and Notes.
    • Display a list of logged sessions in a user-friendly format.

API Integration

  • Implement frontend logic for communicating with the backend:
    • POST: Submit new logs to the server.
    • GET: Fetch and display all study logs for the user.
    • PUT: Enable users to edit existing logs.
    • DELETE: Allow users to remove logs.

User Feedback

  • Display clear messages for actions like:
    • Successful addition, update, or deletion of logs.
    • Errors such as missing inputs or server issues.

Validation

  • Validate form inputs on the frontend to ensure:
    • Subject is not empty.
    • Hours Studied is a positive number.

Cross-Browser Testing

  • Ensure functionality across different browsers (Chrome & Brave).

Image


Deployment Checklist

Frontend Deployment

  • Deploy the frontend, ensuring it connects correctly to the backend.
  • Verify that users can access the study log feature at /study/log.

FUTURE IDEAS

Visual Insights

  • Add charts or graphs to visualize study patterns (e.g., hours spent per subject).
  • Use a library like Chart.js for dynamic data visualization.

Notifications

  • Introduce reminders for users to log their study sessions.
  • Allow users to set daily or weekly goals.

Advanced Features

  • Add filters and search functionality for study logs.
  • Implement pagination for managing large data sets efficiently.

User Experience Improvements

  • Refine the design for better aesthetics and accessibility.
  • Add tooltips or placeholders to guide users during form entry.

Scalability

  • Optimize database queries for faster response times.
  • Enable support for exporting logs as a PDF or CSV file.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status
    In progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions