Drivent is a full-stack web application designed to help event organizers manage their events and attendees. The project has a backend repository hosted on GitHub at Backend and a frontend repository at Frontend.
Features
Drivent has a range of features that make it a valuable tool for event organizers, including:
- Event creation: Organizers can create new events and specify important details such as the event name, date, time, location, and ticket prices.
- Ticket management: Organizers can manage ticket sales and distribution, including setting up discount codes, bulk sales, and group sales.
- Attendee management: Organizers can manage their attendees, including tracking their registration information, payment status, and attendance.
Architecture
Drivent is built using a full-stack architecture that includes a backend API and a frontend web application. The backend is built using Node.js and Express, and uses PostgreSQL and Redis as the database. The frontend is built using React, and includes a range of components that make it easy for event organizers to manage their events and attendees.
The backend API is designed to be scalable and flexible, allowing organizers to manage a large number of events and attendees. The API includes endpoints for event creation, ticket management, attendee management, and marketing tools.
The frontend web application is designed to be user-friendly and intuitive, with a clean and modern design that makes it easy for organizers to manage their events and attendees. The application includes a range of features, such as event creation forms, ticket sales pages, attendee management dashboards, and marketing tools. There's a total integration with the Stripe API, making possible doing real life payments.
Technologies
Drivent is built using a range of technologies, including:
- Node.js: Drivent's backend is built using Node.js, a popular JavaScript runtime for building scalable web applications.
- Express: Drivent's backend uses Express, a popular web framework for Node.js, to build the API endpoints and handle HTTP requests and responses.
- PostgreSQL with Prisma: Drivent's backend uses PostgreSQL as the database to store attendee information, with Prisma as the ORM.
- Redis: For more concurent information, Redis Database was used, for reducing latency and improving user experience.
- React: Drivent's frontend is built using React, a popular JavaScript library for building user interfaces.
- Webpack: Drivent's frontend uses Webpack to bundle and package the application's JavaScript and CSS files for deployment.
- Typescript: The backend was done with Typescript, for reducing code errors, and improving developer productivity.
- Testing: Testing was done using Jest, with a test coverage of 80%.
Collaboration and Methodolgy
Drivent was a collaborative effort among a team of five developers, including myself. We used the Scrum methodology to guide our development process, which allowed us to work in sprints and prioritize tasks effectively. During each sprint, we held daily stand-up meetings to review progress and discuss any challenges. We also conducted regular retrospectives to reflect on our process and identify areas for improvement.Through effective collaboration and the use of Scrum, we were able to deliver a high-quality product that met the needs of event organizers and attendees alike. Each team member brought their unique skills and perspectives to the project, and we worked together to overcome challenges and ensure that the application was functional and user-friendly.