FriEventia is a service for discovering interesting events, combined with some elements of social media to bring like-minded people together. The project was developed as a solution to the Uevent challenge of the Innovation Campus educational program.
- viewing events with advanced filtering and sorting options
- saving events and enabling/disabling notifications for them
- buying event tickets with the ability to apply promo codes
- leaving comments on events
- subscribing to companies and enabling/disabling notifications for them
- authentication via username and password, as well as Google account login
- extended user, company, and event profiles (including map integration for event locations)
- profile management with privacy controls and advanced notification settings
- responsive design with pleasant colours and custom UI components
- Backend: Nest.js, PostgreSQL, TypeORM, Stripe, JWT, Swagger
- Frontend: React, Vite, Redux Toolkit, CSS, Leaflet, Zod, Axios
- Docker
Clone the repository to your local machine and navigate to the project directory:
git clone https://github.com/VeronikaSukhonos/uevent.git
cd ueventCreate .env file with the variables specified in .env.example file.
To get STRIPE_PUBLIC_KEY and STRIPE_SECRET_KEY, register in Stripe and then you can find them on Developers->API keys.
To get STRIPE_WEBHOOK_SECRET, install Stripe CLI and run these commands in terminal:
stripe login
stripe listen --forward-to localhost:3000/api/webhook
Don't close the terminal after last command.
Launch the Docker Desktop, and, in the same directory where docker-compose.yml file is located, run the command:
docker compose build <app-dev/app-prod>
Specify app-dev to run the development build and app-prod to run the production build.
In the development build, you can change files both in backend and frontend directories (except Docker-related files), and servers will be restarted automatically.
To run the app, use the following command (it will also build the app first if not yet):
docker compose up <app-dev/app-prod>
API server will run at:
http://localhost:3000in the development buildhttp://localhost:8080in the production build
Web application will run at:
http://localhost:5173in the development buildhttp://localhost:8000in the production build
If you want to see some container's logs, in the Docker Desktop, click on the corresponding container and open the Logs tab.
When you are done, tear the app down by using the command:
docker compose down
General project documentation can be found here and contains:
- useful diagrams describing the work of the application
- screenshots of features
The backend exposes a Swagger Ul page accessible via http://localhost:3000/api/docs.

