EventAPI is a versatile and user-friendly API designed to facilitate event management. It provides endpoints for creating, attending, and filtering events, as well as retrieving upcoming events based on the current date.
- Event Creation: Easily create new events with detailed information such as title, description, date, location, and more.
- Attendee Management: Allow users to RSVP to events, indicating whether they will attend, might attend, or decline.
- Event Filtering: Filter events based on various criteria such as date, location, category, and more, to find events tailored to specific preferences.
- Upcoming Events: Retrieve a list of upcoming events based on the current date, providing users with a glimpse of what's happening soon.
To get started with the project, you have two options. The first option is to have run NodeJs locally in a version equal to or higher than version 20 and set up a MySql database, everything in this option is on you. This project uses Docker so it is recommended that it is installed on your machine either locally or via WSL.
-
Clone the repository on your local machine
$ git clone https://github.com/DanielRoman11/backend-events.git
-
Navigate to the project folder
$ cd <project-directory>
There is already a default configuration that works perfectly for you Dockerfiles, but you can always experiment with the options offered by the Docker. Personally I prefer to use pnpm
and you may prefer bun
or npm
itself, so this is up to you.
Important
It may seem obvious and redundant, but you must have Docker installed.
You just have to run the following commands.
Warning
I highly recommend install it using npm i -g pnpm
. If you don't have this dependencie install, you might experiment some problems.
- Install the project via docker compose
- Only if you have everything setup. This point is just for running the project withouth building everything again
# First Time
$ docker compose -f docker-compose.dev.yml up --build
$ docker compose -f docker-compose.dev.yml up
EventAPI offers a simple yet powerful interface, allowing developers to integrate event management functionality seamlessly into their applications. Use the provided endpoints to perform various actions related to event management.
Tip
All endpoints are documented on /api
.
# development
$ pnpm run start
# watch mode
$ pnpm run start:dev
# production mode
$ pnpm run start:prod
# unit tests
$ pnpm run test
# e2e tests
$ pnpm run test:e2e
# test coverage
$ pnpm run test:cov
Once the project is up and running, you can access it at http://localhost:3000
in your web browser.
Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.
Nest is MIT licensed.