This monorepo contains a system for managing IT events, created as an exercise project for a Nemetschek Bulgaria Speed IT Up School Edition application. It includes:
apps/backend– NestJS backend for managing IT eventsapps/frontend– React frontend for displaying events
You can find this repo's GitHub repository here
This project was created to help manage and display information about IT conferences and events. Each event includes:
- Event name
- City
- Date
- Type (conference, training, workshop, etc.)
- Lecturer(s)
The system supports sorting and filtering events by title, date, type, city, or any combination. Special sorting rules are applied for certain cities and event names.
Note: Node.js and pnpm are only required if using the manual setup method. If you are using Docker, these tools are not necessary.
- Node.js (v22.16.0 LTS recommended)
- pnpm (v10.11.1)
- Docker (for containerization)
- Docker Compose (to run using the quick start method)
Note:
Before starting, create a.envfile in the project root by copying the provided.env.examplefile. Adjust the values as needed for your environment.
The easiest way to start the project is with Docker Compose:
docker-compose up --buildThis will start both the backend and frontend services.
If you prefer running locally without Docker:
-
Install dependencies:
pnpm install
-
Set up environment variables for the backend:
Create a
.envfile inapps/backendby copyingapps/backend/.env.exampleand updating it with your actual Postgres connection string. -
Start the backend:
pnpm --filter backend start:dev
-
Start the frontend:
pnpm --filter frontend dev
- Backend API: http://localhost:8393
- Swagger UI: http://localhost:8393/api
- Swagger JSON: http://localhost:8393/api-json
- Swagger YAML: http://localhost:8393/api-yaml
- Frontend App: http://localhost:5173
apps/
backend/ # NestJS API
frontend/ # React app
docker-compose.yaml
- Manage and display IT events
- Sort and filter events by multiple criteria
- Special filtering for specific cities and event names