Welcome to the Student Information Learning Management System (SILMS) repository! This project is a comprehensive learning management system developed using Turbo, Vite with React for the frontend, and NestJS for the backend.
- Node.js
- npm
- PostgreSQL
- Turbo for Optimized Builds ✅
- Monorepo Structure ✅
- Tailwind CSS and Flowbite for UI ✅
- SSR ✅
- API Versioning ✅
- PWA ✅
- Router v6 ✅
- Code Splitting ✅
- Lazy Loading ✅
- Internationalization with react-i18next ✅
- Localization ✅
- OpenAPI (Swagger) Implementation ✅
- Server Query via Redux RTK-Query ✅
- Backend: NestJS ✅
- Frontend: Vite with React ✅
git clone https://github.com/SILMS-Project/silms-nest-react.git
Navigate to the project directory and install the required dependencies for both the backend and frontend:
cd silms-nest-react
npm install
cd apps/silms-backend
npm install
cd ../silms-frontend
npm install
Once the dependencies are installed, here's the file structure you'll find:
silms-nest-react/
├── apps/
│ ├── silms-backend/
│ └── silms-frontend/
To run this application, ensure you have PostgreSQL installed and running on your machine. If you haven't installed PostgreSQL yet, you can download it from here.
Ensure you have the necessary PostgreSQL credentials set up in the .env
file located in the root directory of the backend. Modify the following environment variables with your PostgreSQL credentials:
# .env file
APP_NAME=
APP_DESCRIPTION=
APP_SERVER_LISTEN_PORT=
APP_SERVER_LISTEN_IP=
API_VERSION=
GLOBAL_PREFIX=
#jwt
JWT_SECRET=
JWT_TIME=
DB_HOST=your_postgres_host
DB_PORT=your_postgres_port
DB_USERNAME=your_postgres_username
DB_PASSWORD=your_postgres_password
DB_NAME=your_postgres_database_name
After the dependencies are installed, you can run the application front the root directory using the following command:
npm run dev
This will start the development server for both the frontend and backend.
Frontend:
http://localhost:5173/
Backend:
http://localhost:3000/
Backend with global prefix:
http://localhost:3000/backend
Swagger UI can be accessed via:
http://localhost:3000/api
- main: Represents the stable, production-ready code.
- dev: Branch for ongoing development.
- frontend/xyz: Feature-specific branches for frontend changes.
- backend/abc: Bug fix branches specific to the backend.
- testing/123: Branch dedicated to QA and testing purposes.
This project is licensed under the MIT License. You can find the license information in the LICENSE file.
If you encounter any issues or have any questions regarding SILMS, make comments on your assigned issues thread on GitHub for others to see and help.