Skip to content

VeronikaSukhonos/uevent

Repository files navigation

FriEventia

FriEventia

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.

FriEventia

Features

  • 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

Technology Stack

  • Backend: Nest.js, PostgreSQL, TypeORM, Stripe, JWT, Swagger
  • Frontend: React, Vite, Redux Toolkit, CSS, Leaflet, Zod, Axios
  • Docker

How to use

Clone the repository to your local machine and navigate to the project directory:

git clone https://github.com/VeronikaSukhonos/uevent.git
cd uevent

Create .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.

Build the project

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.

Run the app

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:

Web application will run at:

If you want to see some container's logs, in the Docker Desktop, click on the corresponding container and open the Logs tab.

Stop the app

When you are done, tear the app down by using the command:

docker compose down

Team

Documentation

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.

About

Service for discovering interesting events, combined with some elements of social media to bring like-minded people together

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages