Skip to content

alia0320/BC-Hackathon-2026

Repository files navigation


πŸŽ“ DegreeFlow β€” Academic Tracking System

A full-stack protoype academic tracking platform that brings together degree auditing, course management, and professor insights into one seamless experience.

DegreeFlow combines the functionality of DegreeWorks, Brightspace, and RateMyProfessor into a single modern applicationβ€”helping students track progress, plan semesters, and make smarter academic decisions.


πŸš€ Project Overview

Students often struggle with:

  • Fragmented academic systems
  • Inaccurate or delayed credit tracking
  • Lack of effective course planning tools

DegreeFlow solves this by providing a centralized, intuitive platform for managing the entire academic journey.


πŸ“ Project Structure

BC-Hackathon-2026/
β”œβ”€β”€ degworks-and-bs-frontend/    # Next.js Frontend (alternative)
β”œβ”€β”€ degworks-and-bs-backend/     # Spring Boot Backend
β”œβ”€β”€ Middle/                      # Middleware Service
β”œβ”€β”€ src/                         # Main Frontend (Vite + React)
β”œβ”€β”€ components/                  # Shared UI Components
└── public/                      # Static Assets

πŸ› οΈ Tech Stack

Frontend (Vite + React)

  • React 19 + Vite 8
  • Tailwind CSS 4
  • Radix UI + shadcn/ui
  • Recharts (data visualization)
  • React Router DOM 7
  • React Hook Form + Zod

Backend (Spring Boot)

  • Spring Boot 3.4.1
  • Java 17
  • Spring Data JPA + Hibernate
  • Spring Security
  • H2 In-Memory Database

βš™οΈ Prerequisites

Make sure you have installed:

  • Node.js β‰₯ 18
  • pnpm
  • Java 17+
  • Maven 3.8+

πŸ§‘β€πŸ’» Getting Started

1. Clone the Repository

git clone https://github.com/your-username/BC-Hackathon-2026.git
cd BC-Hackathon-2026

2. Run Frontend (React + Vite)

pnpm install
pnpm dev

Frontend runs at: πŸ‘‰ http://localhost:5173


3. Run Backend (Spring Boot)

cd degworks-and-bs-backend
./mvnw spring-boot:run

Backend runs at: πŸ‘‰ http://localhost:8080


4. H2 Database Console

Access:


✨ Features

πŸ“Š Student Dashboard

  • GPA tracking (cumulative, major, semester)
  • Credit progress visualization
  • Academic standing indicators

πŸ“š Course Management

  • Real-time course tracking
  • Degree requirement completion status
  • Categorized courses (core, major, electives)

⭐ Professor Ratings

  • Ratings and difficulty scores
  • Student reviews and feedback
  • Tags (e.g., "Tough grader", "Clear lectures")

πŸ—“οΈ Semester Planning

  • Multi-semester planning view
  • Course status (confirmed, tentative, waitlist)
  • Credit load tracking

πŸ”Œ API Endpoints

Students

Method Endpoint Description
GET /api/students Get all students
GET /api/students/{id} Get student by ID
POST /api/students Create student

Courses

Method Endpoint Description
GET /api/courses Get all courses
GET /api/courses/{id} Get course by ID

Professors

Method Endpoint Description
GET /api/professors Get all professors
GET /api/professors/{id} Get professor by ID

Enrollments

Method Endpoint Description
GET /api/enrollments Get enrollments
POST /api/enrollments Add enrollment

Schedules

Method Endpoint Description
GET /api/schedules Get schedules
POST /api/schedules Create schedule

Requirements

Method Endpoint Description
GET /api/requirements Get requirements

Professor Reviews

Method Endpoint Description
GET /api/professor-reviews Get reviews
POST /api/professor-reviews Add review

πŸ” Environment Variables

Frontend

No configuration needed for local development.

Backend (application.properties)

server.port=8080
spring.datasource.url=jdbc:h2:mem:test
spring.datasource.username=sa
spring.datasource.password=

πŸ“œ Scripts

Frontend

pnpm dev        # Start dev server
pnpm build      # Build for production
pnpm preview    # Preview build
pnpm lint       # Lint code

Backend

./mvnw spring-boot:run
./mvnw clean install
./mvnw test

🧩 Key Components

Frontend

Component Description
StudentHeader Displays student info
GPACard GPA visualization
CreditsProgress Credit tracking
RequirementsList Degree audit
BrightspaceCourses Current courses
ProfessorRatings Ratings UI
SemesterPlanner Future planning
Navigation App navigation

Backend Models

  • Student
  • Course
  • Professor
  • ProfessorReview
  • StudentEnrollment
  • Requirement
  • Schedule

πŸš€ Deployment

Frontend (Vercel)

npm i -g vercel
vercel

Backend (Docker)

FROM openjdk:17-slim
COPY target/*.jar app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]
docker build -t degflow-backend .
docker run -p 8080:8080 degflow-backend

🀝 Contributing

  1. Fork the repo
  2. Create a branch (feature/your-feature)
  3. Commit changes
  4. Push to branch
  5. Open a Pull Request

πŸ“„ License

Created for BC Hackathon 2026.


πŸ‘₯ Team

Built with the goal of simplifying academic life and empowering students with better tools.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors