- Revised README.md to provide a clearer project overview, installation instructions, and service descriptions, enhancing onboarding for new developers. - Removed unnecessary comments in document.schema.ts to streamline the code and improve readability. - Updated the LiveKit service descriptions in the README to reflect the integration of new functionalities and services.
99 lines
2.4 KiB
Markdown
99 lines
2.4 KiB
Markdown
# 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
|
|
|
|
1. **Clone the repository:**
|
|
|
|
```bash
|
|
git clone https://github.com/EPESS/epess-web-backend.git
|
|
cd epess-server
|
|
```
|
|
|
|
2. **Install the dependencies:**
|
|
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
3. **Create the `.env` file:**
|
|
|
|
Create a file named `.env` at 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
|
|
```
|
|
|
|
4. **Run database migrations:**
|
|
|
|
Ensure your database is set up, and use Prisma to run migrations.
|
|
|
|
```bash
|
|
npx prisma migrate dev
|
|
```
|
|
|
|
### Running the Application
|
|
|
|
To start the application:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```typescript:src/LiveKit/livekit.participant.service.ts
|
|
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:
|
|
|
|
```typescript:src/LiveKit/livekit.service.ts
|
|
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](LICENSE) file for details.
|