Semestral project for the VAII subject

This is an Online Learning Management System (LMS) developed as a part of the subject VAII in school year 2023 / 2024. It is designed to provide a platform for instructors to manage courses and students to access and interact with educational content.
- User Roles:
- Admin, instructor, and student roles with specific permissions.
- Course Management:
- Instructors can create, edit, and manage courses.
- Enrollment:
- Students can browse and enroll in courses.
- Dashboard:
- Personalized dashboards for users with relevant information.
- Course Content:
- Instructors can add lessons, modules, or resources.
- Progress Tracking:
- Students can track their course progress.
- Quizzes and Assignments:
- Interactive quizzes and assignments.
- Discussion Forums:
- Course-specific discussion forums.
- Notifications and Messaging:
- Real-time notifications and messaging between users.
- Responsive Design:
- Responsive layout.
- Security:
- User authentication and data security.
- Data Analytics:
- Collection and analyzing of user interaction data.
- Gamification:
- Award badges and provide progress reports.
- Front-End Framework: Svelte
- CSS Framework: Bootstrap
- Back-End Framework: Spring/SpringBoot
- Database: PostgreSQL
- Containerization: Docker
Before begining, following requirements are needed:
-
Development Environment:
- A code editor or integrated development environment (IDE) such as PHPStorm (or your preferred IDE).
-
Docker:
-
Node.js and npm:
-
Database Management System:
- A database management system such as DBeaver.
-
Git:
- Git for version control and collaboration on your project.
Running the project on local machine:
-
Cloning the Repository:
git clone https://github.com/TimeaFuntikova/semka-vajko.git
-
Installing Dependencies:
- JavaScript for Svelte:
npm install
- JavaScript for Svelte:
-
Environment Configuration:
- Create a copy of the
.env.example
file and name it.env
. - Update the database configuration and any other environment-specific settings in the
.env
file.
- Create a copy of the
-
Database Setup:
- Create a new database on your database management system (e.g., POstgreSQL) as configured in your
.env
file. - Run the database migrations to set up the necessary tables
- Create a new database on your database management system (e.g., POstgreSQL) as configured in your
-
Compile Svelte:
- Compile the Svelte front-end using and run it locally:
npm run build npm run dev
- Compile the Svelte front-end using and run it locally:
This project is the intellectual property and is intended for educational purposes only. All rights reserved.