A modern full-stack learning management system built with Next.js, Spring Boot, and MongoDB.
- Node.js (v16 or higher)
- Java Development Kit (JDK) 17 or higher
- MongoDB
- Visual Studio Code
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install -
Create or update your
.envfile with necessary environment variables:# Add your environment variables here # Example: NEXT_PUBLIC_API_URL=http://localhost:8090/api -
Start the development server:
npm run dev
-
Navigate to the Spring Boot application directory:
cd ooadproject -
Make sure MongoDB is running on your system
-
Build and run the Spring Boot application:
./mvnw spring-boot:runOr using Maven directly:
mvn spring-boot:run -
The API will be available at
http://localhost:8090/api
- User Registration: Create accounts as either a student or instructor
- User Authentication: Secure login with JWT authentication
- User Profiles: Manage personal information and preferences
- Course Browsing: Explore available courses
- Course Enrollment: Register for courses of interest
- Learning Dashboard: Track progress in enrolled courses
- Course Content Access: View lectures, materials, and resources
- Course Creation: Design and publish new courses
- Course Management: Edit course details, content, and materials
- Student Management: Monitor enrolled students and their progress
- Content Upload: Share educational materials and resources
- Responsive Design: Works on desktop and mobile devices
- Modern UI: Clean, intuitive interface with smooth animations
- Search Functionality: Find courses by name, category, or instructor
- Contact & Support: Get help and provide feedback
For the best development experience, install the following VS Code extensions:
- Java Extension Pack
- Spring Boot Extension Pack
- MongoDB for VS Code
- ESLint
- Prettier
- Next.js 15+
- React 19
- Tailwind CSS
- Framer Motion for animations
- React Hook Form with Zod validation
- React Query for data fetching
- Spring Boot 3.4
- Spring Security with JWT
- Spring Data MongoDB
- Maven
This project is licensed under the MIT License - see the LICENSE file for details.