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.
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.
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
- React 19 + Vite 8
- Tailwind CSS 4
- Radix UI + shadcn/ui
- Recharts (data visualization)
- React Router DOM 7
- React Hook Form + Zod
- Spring Boot 3.4.1
- Java 17
- Spring Data JPA + Hibernate
- Spring Security
- H2 In-Memory Database
Make sure you have installed:
- Node.js β₯ 18
- pnpm
- Java 17+
- Maven 3.8+
git clone https://github.com/your-username/BC-Hackathon-2026.git
cd BC-Hackathon-2026pnpm install
pnpm devFrontend runs at: π http://localhost:5173
cd degworks-and-bs-backend
./mvnw spring-boot:runBackend runs at: π http://localhost:8080
Access:
- URL: http://localhost:8080/h2-console
- JDBC URL:
jdbc:h2:mem:test - Username:
sa - Password: (leave empty)
- GPA tracking (cumulative, major, semester)
- Credit progress visualization
- Academic standing indicators
- Real-time course tracking
- Degree requirement completion status
- Categorized courses (core, major, electives)
- Ratings and difficulty scores
- Student reviews and feedback
- Tags (e.g., "Tough grader", "Clear lectures")
- Multi-semester planning view
- Course status (confirmed, tentative, waitlist)
- Credit load tracking
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/students |
Get all students |
| GET | /api/students/{id} |
Get student by ID |
| POST | /api/students |
Create student |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/courses |
Get all courses |
| GET | /api/courses/{id} |
Get course by ID |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/professors |
Get all professors |
| GET | /api/professors/{id} |
Get professor by ID |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/enrollments |
Get enrollments |
| POST | /api/enrollments |
Add enrollment |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/schedules |
Get schedules |
| POST | /api/schedules |
Create schedule |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/requirements |
Get requirements |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/professor-reviews |
Get reviews |
| POST | /api/professor-reviews |
Add review |
No configuration needed for local development.
server.port=8080
spring.datasource.url=jdbc:h2:mem:test
spring.datasource.username=sa
spring.datasource.password=pnpm dev # Start dev server
pnpm build # Build for production
pnpm preview # Preview build
pnpm lint # Lint code./mvnw spring-boot:run
./mvnw clean install
./mvnw test| 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 |
- Student
- Course
- Professor
- ProfessorReview
- StudentEnrollment
- Requirement
- Schedule
npm i -g vercel
vercelFROM 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- Fork the repo
- Create a branch (
feature/your-feature) - Commit changes
- Push to branch
- Open a Pull Request
Created for BC Hackathon 2026.
Built with the goal of simplifying academic life and empowering students with better tools.