A modern Full Stack Course Learning Tracker web application built using React.js, Spring Boot, Spring Security (JWT), and PostgreSQL.
π Frontend:
https://skilltrack-course-learning-tracker-1.onrender.com
βοΈ Backend:
https://skilltrack-course-learning-tracker.onrender.com
π Swagger API:
https://skilltrack-course-learning-tracker.onrender.com/swagger-ui/index.html
- π JWT Authentication (Login & Register)
- π€ User Profile
- π Course Management
- β Create Course
- βοΈ Update Course
- β Delete Course
- β€οΈ Favorite Courses
- π Dashboard Analytics
- π Search Courses
- π― Course Progress Tracking
- π Learning Statistics
- π PostgreSQL Database
- π± Responsive UI
- React.js
- Vite
- React Router
- Axios
- Bootstrap
- CSS
- Java 17
- Spring Boot 3
- Spring Security
- JWT Authentication
- Spring Data JPA
- Hibernate
- Maven
- PostgreSQL (Neon)
- Render (Frontend)
- Render (Backend)
- Neon PostgreSQL
SkillTrack-Course-Learning-Tracker
β
βββ backend
β βββ controller
β βββ service
β βββ repository
β βββ entity
β βββ dto
β βββ config
β βββ security
β
βββ frontend
β βββ components
β βββ pages
β βββ layouts
β βββ services
β βββ context
β βββ assets
β
βββ README.md
- User Registration
- User Login
- JWT Token Generation
- Protected Routes
- Spring Security Authorization
The dashboard provides:
- Total Courses
- In Progress Courses
- Completed Courses
- Average Progress
- Recent Courses
- Continue Learning Section
- Add Course
- Edit Course
- Delete Course
- Search Course
- Favorite Course
- Progress Tracking
- PostgreSQL
- Hosted on Neon
- Spring Data JPA
- Hibernate ORM
POST /api/auth/register
POST /api/auth/login
GET /api/dashboard
GET /api/courses
POST /api/courses
PUT /api/courses/{id}
DELETE /api/courses/{id}
git clone https://github.com/Brindhajay/SkillTrack-Course-Learning-Tracker.gitcd backend
mvn spring-boot:runcd frontend
npm install
npm run dev- Login Page
- Dashboard
- Explore Courses
- Favorites
- Create Course
- Profile
Brindha R A
GitHub: https://github.com/Brindhajay
This project is developed for learning and portfolio purposes.