Skip to content

(Backend) robust API using NestJS for managing events and attendees. The application allows users to create, retrieve, update, and delete events. Additionally, users can register attendees for specific events and filter by date using query criteria

Notifications You must be signed in to change notification settings

DanielRoman11/backend-events

Repository files navigation

Event API | Documentation

Introduction

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.

Features

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

Getting Started

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.

Setup

  1. Clone the repository on your local machine

    $ git clone https://github.com/DanielRoman11/backend-events.git
    
  2. Navigate to the project folder

     $ cd <project-directory>
    

Docker Project Installation

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.

Docker Compose

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.

  1. Install the project via docker compose
  2. # First Time
    $ docker compose -f docker-compose.dev.yml up --build
    
  3. Only if you have everything setup. This point is just for running the project withouth building everything again
  4. $ docker compose -f docker-compose.dev.yml up
    

Usage

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.

Running the app

# development
$ pnpm run start

# watch mode
$ pnpm run start:dev

# production mode
$ pnpm run start:prod

Test

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

Support

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.

License

Nest is MIT licensed.

Nest Logo

About

(Backend) robust API using NestJS for managing events and attendees. The application allows users to create, retrieve, update, and delete events. Additionally, users can register attendees for specific events and filter by date using query criteria

Topics

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages