Chat application built as a school project, focusing on real-time communication and basic client–server interaction.
- Node.js 20+ (Download)
- Container runtime (Docker (recommended), Colima, ...)
- IDE (VS Code, WebStorm, ...)
- Package manager (pnpm (recommended), npm, ...)
- Database (started automatically via
docker composeduring installation)- Postgres
- Go to the project root:
cd ychat/ - Install all dependencies:
pnpm install - Copy
.env.exampleto.envin the project root (Docker infrastructure) and in all applications (apps/*), then adjust the values accordingly. - Start required services:
docker compose up -d - First run only: Apply database migrations, generate Prisma client, and seed the database:
docker compose exec ychat-api npx prisma migrate deploy && docker compose exec ychat-api npx prisma db seed - Start the application:
pnpm run dev --filter app
Note: The desktop Electron application runs locally and connects to backend services running in Docker.
Application
| Description | Values |
|---|---|
| Ports: | 5173 |
| Technologies: | Electron-Vite |
| URL: | http://localhost:5173/ |
Server
| Description | Values |
|---|---|
| Ports: | 4000 |
| Technologies: | NestJS, Prisma |
| URL: | http://localhost:4000/ |
| Swagger: | http://localhost:4000/swagger |
Database
| Description | Values |
|---|---|
| Ports: | 5432 |
| Technologies: | Postgres |
| Databases: | postgres |
| Credentials: | root:password (development only) |
This software is developed by Petr Kašpar and is licensed under the MIT License.
For more details, please refer to the LICENSE file.