/Pass.in

Pass.in is a robust participant management application for in-person events.

Primary LanguageJavaMIT LicenseMIT

Pass.in

FunctionalitiesTechnologiesGetting StartedAPI EndpointsDeveloperContribute

Pass.in is a robust application for managing participants at face-to-face events. This tool offers a series of functionalities designed to facilitate the organization and participation in events, ensuring a smooth and efficient experience for both organizers and participants.

Functionalities

  • Event registration: Organizers can register new events, specifying details such as title, description and maximum number of participants allowed. Each event is identified by a unique slug generated automatically.
  • Public Registration Page: After registration, each event has a public page where participants can register. This page is accessible via the event slug.
  • Participant management: Participants can register for events by providing their personal details. The system ensures that there are no duplicate registrations through email verification.
  • Issuing Credentials: Registered participants can issue a credential for check-in on the day of the event. This credential is essential for validating entry.
  • Check-In at the Event: On the day of the event, the system allows participants to check-in by scanning the credentials issued. This process is quick and guarantees security and organization at the entrance to the event.
  • Participant monitoring: Organizers can view the list of participants registered for each event, as well as the total number of participants.

Technologies

  • Java 17
  • Postgres
  • Spring Framework 3.3.2
  • Spring Web
  • Spring Data JPA
  • Flyway
  • Swagger 2.5.0
  • Apache Maven 3.3.2
  • Lombok
  • Spring Validation I/O
  • GIT 2.34.1
  • Docker
  • Docker Compose
  • ProblemDetail

🚀 Getting started

This section guides you through running the project locally.

Pre-requisites

Before you begin, ensure you have the following software installed:

Optional:

  • IDE (Integrated Development Environment) - (e.g., IntelliJ IDEA, Eclipse)
  • Client HTTP - (Postman, Insominia, Bruno)

Running the Project

  1. Clone the Repository:
git clone git@github.com:RayanSf18/Pass.in.git
  1. Navigate to the Project Directory:
cd passin
  1. Run Postgres on Docker compose:
cd/docker

docker-compose up -d
  1. Start the Application:
mvn spring-boot:run
  1. server of application:
http://localhost:8080/

API Endpoints

View endpoint results in: Swagger

route description
POST /events This endpoint register a new event with the provided details.
POST /events/{slug}/participants This endpoint is used to add a new participant to a specific event.
GET /events/{slug} This endpoint is used to fetch all the important details of the event.
GET /events/{slug}/participants This endpoint is used to search for all participants of a specific event.
POST /participants/{participantId}/check-in This endpoint is used to check in the participant to the specific event.
GET /participants/{participantId}/badge This endpoint is used to fetch the participant's badge details.

👨‍💻 Developer

Rayan Silva Profile Picture
Rayan silva

🤝 Contribute

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/AmazingFeature).
  3. Make your changes.
  4. Commit your changes (git commit -m 'Add some AmazingFeature').
  5. Push to the branch (git push origin feature/AmazingFeature).
  6. Open a pull request.

Documentations that might help

📝 How to create a Pull Request

💾 Commit pattern

Enjoy coding! 😄