Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SeatSnap: Modern Ticketing Platform 🎟️

Build Status Deployment Status Monitored with

Table of Contents


About The Project 🚀

SeatSnap is a modern, intuitive web application designed to provide a seamless ticket discovery and purchasing experience, similar to popular platforms like Ticketmaster. This repository primarily houses the frontend application, demonstrating a robust and automated deployment strategy through advanced DevOps practices.

While this repository focuses on the frontend and its deployment, it is envisioned to be the user-facing component of a larger system.

Built With 🛠️

  • Frontend: (HTML/CSS/JavaScript)
  • Containerization: Docker 🐳
  • CI/CD: Jenkins ⚙️
  • Orchestration: Kubernetes ☸️
  • Cloud Provider: AWS ☁️
  • Monitoring: Prometheus 🔥, Grafana 📊

Current Status 🟢

The SeatSnap frontend application is successfully deployed and accessible. The continuous integration and continuous deployment (CI/CD) pipeline is fully operational, ensuring that new features and bug fixes are delivered efficiently to the production environment.

Backend Status: The backend services for SeatSnap are currently not deployed as part of this project's scope. This project specifically highlights the frontend deployment and the DevOps practices applied to it.


Deployment & DevOps Practices pipeline 🚀

This project showcases a comprehensive implementation of DevOps principles for the frontend application's lifecycle, from code commit to production deployment.

CI/CD Pipeline 🔗

The CI/CD pipeline is orchestrated using Jenkins and automates the following stages:

  • Source Code Management: Code is pulled from a GitHub repository 🐙.
  • Code Quality Analysis: SonarQube performs static code analysis to maintain high code quality standards ✨.
  • Deep Level Scanning: OWASP ZAP is utilized for deep-level file system scanning to identify security vulnerabilities 🕵️‍♀️.
  • Vulnerability Scanning: Trivy performs container image vulnerability scanning 🛡️.
  • Docker Image Creation: The frontend application is containerized into a Docker image 📦.
  • Application Testing: Automated tests are executed on the application running within its Docker container ✅.
  • Deployment: The tested Docker image is deployed to the production environment 🚀.
  • Email Notification: Stakeholders receive automated email notifications about pipeline status 📧.

Infrastructure 🏗️

The SeatSnap frontend is deployed on Amazon Web Services (AWS), leveraging key cloud services for scalability and reliability:

  • EC2 Instances: Virtual servers hosting the application components 💻.
  • Docker Containers: The application runs within Docker containers for isolated and consistent environments 🐳.
  • Kubernetes Cluster: The containers are orchestrated and managed by a Kubernetes cluster, ensuring high availability and efficient resource utilization 🌐.
  • Load Balancing: An AWS Load Balancer distributes incoming traffic across the Kubernetes pods, enhancing performance and reliability ⚖️.
  • Custom Domain Mapping: The application is accessible via a user-friendly custom domain, configured through AWS Route 53 🔗.

Monitoring 👀

Continuous monitoring is established to ensure the application's health and performance:

  • Prometheus: Collects metrics from the Kubernetes cluster and application 🔥.
  • Grafana: Provides dashboards and visualizations for real-time monitoring and alerting 📊.

Usage 💡

Once deployed, SeatSnap allows users to:

  • Browse a wide range of events (concerts, sports, theater, etc.) 🎭.
  • View event details, including dates, times, venues, and seat availability 🗓️.
  • (Future: Select seats and proceed to a secure checkout process) 💳.

Future Roadmap 🗺️

  • Implement full backend integration for user authentication, ticket management, and payment processing ➡️.
  • Enhance frontend UI/UX with advanced search and filtering options 🔍.
  • Add push notifications for event updates 🔔.
  • Integrate third-party APIs for venue maps and detailed event information 📍.
  • Explore serverless functions for specific backend functionalities ☁️.

Future Roadmap

This project is solely implemented with frontend interface of our SeatSnap site and integrating it with DevOPS and agile methodologies.


Contributing 🤝

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated!

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License 📄

Distributed under the MIT License. See LICENSE.txt for more information.


Contact ✉️


Acknowledgments 🙏

  • This is part of a 1-month IBM DevOps Certification.

About

SeatSnap is a Ticketmaster-like app deployed with a robust DevOps pipeline, utilizing Jenkins, Docker, Kubernetes, AWS, and comprehensive monitoring for scalable and reliable event ticketing.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages