Skip to content

Qwitix API is the backend of a ticket sales platform for concerts and events.

License

Notifications You must be signed in to change notification settings

Fyz-dev/qwitix-api

Repository files navigation

Qwitix-api logo

Qwitix-api

ASP.Net MongoDB Stripe Google 0Auth Azure Blob Storage Swagger Docker SOLID

📝 Description

Qwitix API is the backend of a ticket sales platform for concerts and events. It was developed as part of a first-year university course project, using modern technologies.

🔧 Key Features & Technologies

  • ⚙️ Built with ASP.NET Core as the main backend framework
  • 🍃 Uses MongoDB as a document-oriented NoSQL database
  • ☁️ Stores images and media files in Azure Blob Storage
  • 💳 Integrates Stripe for secure and seamless online payments
  • 🔐 Implements custom Google OAuth authentication with JWT token generation
  • 🐳 Fully containerized with Docker, using docker-compose for multi-container orchestration
  • 🧱 Designed following SOLID principles and Onion Architecture for scalability and clean separation of concerns
  • 🚀 Deployed to an Azure Virtual Machine

📦 For more details about deployment and infrastructure setup, see the Qwitix-Infra repository.

📸 Swagger UI

Swagger UI Screenshot

🔧Installation

  1. Cloning the repository
git clone https://github.com/Fyz-dev/qwitix-api.git
  1. Environment setup

Duplicate the example environment file and fill in all required variables.

cp .env.example .env

Open .env in your favorite editor and provide the necessary configuration values (e.g. database connection string, Stripe keys, Azure credentials, JWT secrets, etc.).

  1. Run the project using Docker Compose

Once the .env file is configured, you can spin up the entire environment.

docker compose --env-file .env up
  1. Stripe CLI for local payment testing

To test Stripe webhooks locally, make sure you have the Stripe CLI installed. Then run the following command in a separate terminal.

stripe listen --forward-to localhost:8080/api/stripe/webhooks

📖 More information about Stripe CLI can be found in the official documentation Stripe

  1. 📦 That’s it!

Releases

No releases published

Packages

No packages published