Skip to content

Web application developed for generating, managing, and validating tickets for an event.

License

Notifications You must be signed in to change notification settings

thomazcm/plantae

Repository files navigation

Plantae 🍃

Two young women cooking plant-based food

Index

🔹 About the Project

🔹 Functionality

🔹 Technology Stack

🔹 Setting Up and Running the Project Locally

🔹 License

🔹 Author

🪧 Vitrine.Dev
✨ Nome Plantae
🏷️ Tecnologias Spring, VueJS, Bootstrap
🚀 URL github.com/thomazcm/plantae/

About the Project

This project is a robust web application designed to streamline event ticket management and distribution, using Maven, Spring Boot, Vue.js, Bootstrap, and MongoDB. Initially developed as a solution for managing tickets and guests for a plant-based food event, it offers a range of functionalities suitable for any type of event. The entire application, from conceptualization to deployment, was developed in just five days, showcasing a rapid development process without compromising on quality or functionality.

The core functionality of the web application revolves around generating PDF files for event tickets, managing the list of sold tickets, sending the tickets directly to the customer's email, and ticket validation via QR Code scanning on the event day.

(back to top)

Functionality

The core functionalities of this web application include:

  • Personalized PIX payment link sharing: The application has a public section that customers can use to easily copy the event's organizer payment details for ticket purchase. This page can be easily configured and customized for number of tickets, prices and the links themselves.

  • PDF Ticket Generation: This application generates tickets for an event in PDF format. These tickets can be easily printed or stored on a mobile device.

  • Ticket Sales Management: This application manages a list of sold tickets, keeping track of sales and remaining inventory.

  • Email Ticket Distribution: Once a ticket is sold, the application sends the ticket directly to the customer's email, ensuring a smooth delivery process.

  • QR Code Ticket Validation: On the event day, tickets can be validated quickly and efficiently by scanning a QR Code, streamlining entry and reducing the chance of fraudulent tickets.

These features work together to make this application a comprehensive solution for event ticket generation, distribution, and validation.

(back to top)

Technology Stack

This application is built using a variety of technologies, each chosen for its strengths and compatibility with the others.

Backend

  • Maven: Used for managing the project's build, reporting, and documentation from a central piece of information.

  • Spring Boot: Simplifies Java development and accelerates integration. It includes a number of additional starters for building web applications, working with MongoDB databases, sending emails, and adding security configurations. It also includes Thymeleaf for server-side Java template engine for web applications.

  • QRGen and iText: These libraries are used for QR Code generation and PDF creation, respectively, essential for the ticketing functionality.

  • Mailgun: Mailgun is a powerful email service provider that allows you to send, receive and track emails effortlessly. It's built upon a RESTful API and includes SMTP relay and flexible IP deployment for maximum scalability and deliverability.

Frontend

  • Vue.js: Used for building user interfaces. The Vue.js scripts are imported from the CDN, allowing for easier updates and performance improvements.

  • Bootstrap: Used for designing and customizing responsive mobile-first sites. The Bootstrap scripts are also imported from the CDN.

  • Axios: This library is used for making HTTP requests from the browser. It's promise-based, and it works both in the browser and in a node.js environment.

  • jQuery: A fast, small, and feature-rich JavaScript library used for things like HTML document traversal and manipulation, event handling, and animation.

  • FontAwesome: This toolkit provides vector icons and social logos, giving you a scalable vector icons that can be customized in terms of size, color, drop shadow, etc.

  • Google Fonts: A library of libre licensed fonts.

Database

  • MongoDB: The primary database management system. MongoDB is a source-available cross-platform document-oriented database program, classified as a NoSQL database program, using JSON-like documents with optional schemas.

This combination of technologies allows the application to handle complex tasks with ease, while remaining scalable and maintainable.

(back to top)

Setting Up and Running the Project Locally

To clone and run this project locally, you'll need to have Git, Java, and Maven installed on your computer. From your command line:

# Clone this repository
$ git clone https://github.com/thomazcm/plantae

# Go into the repository
$ cd plantae

# Install dependencies
$ mvn install

# Run the app
$ mvn spring-boot:run

Open http://localhost:8080 to view it in the browser. The page will reload if you make edits. You will also see any lint errors in the console.

(back to top)

License

This project is under the MIT License. Refer to the LICENSE.md file for more details.

(back to top)

Author

Thomaz Machado🚀

Project developed by Thomaz Machado. Get in touch!!

Linkedin Badge Gmail Badge

(back to top )

About

Web application developed for generating, managing, and validating tickets for an event.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published