Files
epess-web-backend/README.md
Ly Tuan Kiet 7021aa7f20 refactor: update README and document schema for improved clarity and functionality
- 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.
2024-12-02 22:52:41 +07:00

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.