/ez_tickets_app

A cinema ticket booking app made with Flutter SDK

Primary LanguageDartMIT LicenseMIT

EZ Tickets Cinema App - Made With Flutter

A ticket booking app made for Nueplex cinemas.

codecov Build Release APK Test PR and Push Pull Request Labeler Generate Updated Goldens GitHub release GitHub stars GitHub issues GitHub issues GitHub PRs GitHub commit activity GitHub forks License: MIT made-with-python

EZ Tickets is an app made with Flutter framework to provide online ticket booking functionality. The release apk is available under the release tags. It's also available on this drive link - EZ Tickets APK

Demo

ez_ticketz_app_demo.mp4

Backend

For the backend it uses a REST API made using NodeJS and MySQL. Here is the link to it's code ez_tickets_backend

Important

Due to privacy and resource abuse concerns I have kept the url of the backend API private and you won't be able to see it. Therefore, if you want to work with this project and make your own edits, than you also need to deploy the backend on your own and pass the URL to the flutter app. Don't be confused, you CAN use my backend code provided above, you just have to deploy it on a server of your own. There are plenty of free options including:

  • Heroku
  • AWS Free Tier
  • Azure etc.

For more instruction visit the backend README.

Once deployed, pass the url while running the flutter app like this:

// Replace your-url-here with your own deployed URL like "https://example.com/api/v1"
flutter run --dart-define=BASE_URL="your-url-here"

✨ App Features

  • Authentication.
  • Browsing movies.
  • Viewing movie details.
  • Watching movie trailers.
  • Checking available movie shows.
  • Theater seat map for ticket selection.
  • Online ticket booking.
  • Online booking payment.
  • Viewing ticket bookings history.

🔧 Technical Features

Riverpod State Management - v1.0.3 Dio + Interceptors For JWT Refresh
Freezed + Flutter Hooks For JSON Handling Custom Wrapper For Shared Prefs + Flutter Secure Storage
MVC-S Clean Architecture Session persistence and encrypted key storage
Reusable services architecture and code Custom reusable widgets
Unit tested code + Automated Code Coverage Dart ENV variables
Full documentation Complex CI/CD Build, Test and Deploy pipelines
Github Branch Protection + Secrets Linting + Custom Analyzer Rules

📱 Screens

🎨 The UI is inspired by this dribbble shot

Splash Screen Home Screen Welcome Screen
Movie Details Screen Movies Screen Movie Trailer Screen
Shows Screen Theater Screen Tickets Screen
Payment Screen Confirmation Screen Some Skeleton Loaders
Some Skeleton Loaders Bookings History Screen Booking Details Screen
Login Screen Register Screen Change Password Screen
Forgot Password Screen OTP Screen OTP Email

⭐ Future Features

  • Facial Authentication.
  • Cancelling Bookings.
  • Movie Reviews.
  • FAQ page.

Feel free to fork and contribute to include these features. ❤︎

🚀 Technologies

🤝 Contribute

To contribute, fork the repository and push the changes to the master branch. Then submit a pull request for merging with the source. If your code passes the review and checks it will be merged into the master branch.

💬 Feedback

Feel free to send us feedback on Twitter or file an issue. Feature requests are always welcome.

📝 License

Licensed under the MIT License.