Functionalities • Technologies • Getting Started • API Endpoints • Developer • Contribute
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.
- 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.
- 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
This section guides you through running the project locally.
Before you begin, ensure you have the following software installed:
- Java Development Kit (JDK) - https://www.oracle.com/java/technologies/downloads/
- Maven - https://maven.apache.org/download.cgi
- Docker - https://www.docker.com/products/docker-desktop/
- Docker compose - https://docs.docker.com/compose/install/
- Git - https://git-scm.com/
Optional:
- IDE (Integrated Development Environment) - (e.g., IntelliJ IDEA, Eclipse)
- Client HTTP - (Postman, Insominia, Bruno)
- Clone the Repository:
git clone git@github.com:RayanSf18/Pass.in.git
- Navigate to the Project Directory:
cd passin
- Run Postgres on Docker compose:
cd/docker
docker-compose up -d
- Start the Application:
mvn spring-boot:run
- server of application:
http://localhost:8080/
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. |
Rayan silva |
- Fork the repository.
- Create a new branch (git checkout -b feature/AmazingFeature).
- Make your changes.
- Commit your changes (git commit -m 'Add some AmazingFeature').
- Push to the branch (git push origin feature/AmazingFeature).
- Open a pull request.
📝 How to create a Pull Request
Enjoy coding! 😄