- Refactored package.json to consolidate Jest configuration for improved readability. - Cleaned up launch.json by removing unnecessary whitespace for better formatting. - Updated CronService to refine service disabling logic based on recent activity, ensuring more accurate service management. - Enhanced MeetingRoom and WorkshopMeetingRoom schemas with consistent formatting and improved field descriptions for clarity. - Improved error handling in MeetingRoom schema to provide clearer feedback for unauthorized access and missing resources. - Updated pothos.generated.ts to reflect recent schema changes, ensuring type consistency across the application. These changes enhance the overall structure and maintainability of the codebase, improving service management and user experience.
Project Name
Overview
This project is built using NestJS and LiveKit server SDK to manage video collaboration sessions, scheduling, and user services. It utilizes Prisma as an ORM for database interactions.
Getting Started
Prerequisites
- Node.js installed on your machine.
- A PostgreSQL database or another SQL database supported by Prisma.
- Environment variables for LiveKit and database credentials set up correctly.
Installation
-
Clone the repository:
git clone https://github.com/EPESS/epess-web-backend.git cd epess-server -
Install the dependencies:
npm install -
Create the
.envfile:Create a file named
.envat the root of the project and set the following environment variables:LIVEKIT_API_KEY=your_livekit_api_key LIVEKIT_API_SECRET=your_livekit_api_secret DATABASE_URL=your_database_url -
Run database migrations:
Ensure your database is set up, and use Prisma to run migrations.
npx prisma migrate dev
Running the Application
To start the application:
npm run start:dev
This command will start the application in development mode with live reload enabled.
Services Description
LiveKit Participant Service
This service handles operations related to participants in a LiveKit room. It utilizes the RoomServiceClient from the livekit-server-sdk.
Reference:
startLine: 1
endLine: 8
LiveKit Service
Responsible for generating access tokens for users to join LiveKit rooms. It utilizes API keys and secrets for authorization.
Reference:
startLine: 1
endLine: 26
Other Services
The project includes additional service files for room management (livekit.room.service.ts) and integration with other modules like notifications and payment handling.
Additional Notes
- Ensure that the Prisma service is properly configured and running.
- Always make sure to keep your environment variables secure.
- To seed the database with initial data, refer to
epess-database/prisma/seed.js.
Contributing
Please feel free to contribute by opening issues or pull requests.
License
This project is licensed under the MIT License - see the LICENSE file for details.