Skip to content

deusepi/student-curriculum-manager

Repository files navigation

Student Curriculum Manager

A web application for managing student curriculum, progress tracking, assignments, and grading. Built with FastAPI, SQLAlchemy, and Jinja2.

Features

  • Course Management: Create and organize courses with modules and lessons
  • Student Enrollment: Register students and manage course enrollments
  • Progress Tracking: Track lesson completion with visual progress bars
  • Assignments & Grading: Create assignments, submit and view grades
  • Role-Based Access: Admin, Instructor, and Student roles with appropriate permissions
  • Web UI: Clean, responsive interface using Pico CSS

Quick Start

Prerequisites

  • Python 3.10+
  • uv package manager
  • Docker (for PostgreSQL)

Setup

# Clone the repo
git clone https://github.com/yourusername/student-curriculum-manager.git
cd student-curriculum-manager

# Copy environment file
cp .env.example .env

# Start PostgreSQL
docker compose up -d

# Install dependencies
uv sync

# Seed the database with sample data
uv run python scripts/seed_data.py

# Start the server
uv run python main.py

Access

Default Login Credentials

Role Email Password
Admin [email protected] admin123
Instructor [email protected] teach123
Student [email protected] student123
Student [email protected] student123
Student [email protected] student123

Tech Stack

  • Backend: FastAPI, SQLAlchemy 2.0, Pydantic v2
  • Database: PostgreSQL
  • Auth: JWT (python-jose) + bcrypt (passlib)
  • Frontend: Jinja2 templates + Pico CSS
  • Package Manager: uv + Hatchling

About

Student curriculum management system with progress tracking and grading

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors