A movie tickets booking and management application using Flutter
and NestJS
.
project
│ README.md
│
└───Backend
│ └───main <- [Backend]
│ │ ...
│ │ ...
│
└───Docs
│ │ Database.zip
│ │ Diagram.png
│ │ diagram_sql.png
│
└───MobileApp
│ └───datn <- [User mobile app]
│ │ │ ...
│ │ │ ...
│ │
│ └───movie_admin <- [Admin, staff mobile app]
│ │ ...
│ │ ...
│
└───Screenshots
│ Screenshot_add_card.png
│ Screenshot_add_comment.png
│ ...
Download APK
Setup and run
Backend (You can use my url: https://datn-081098.herokuapp.com/)
Create Stripe secret API key, Create MovieDb api key
Create MongoDB database, (eg. movieDb
), and create Neo4j database.
Start MongoDB and Neo4j.
Create .env file ./Backend/main/.env
has following structure:
MONGODB_URL=mongodb://localhost:27017/movieDb
MOVIE_DB_API_KEY=movie_db_api_key
STRIPE_SECRET_API=stripe_secret_api_key
[email protected]
EMAIL_PASSWORD=your_email_passwrod
NEO4J_URL=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=password
Installation dependencies
$ npm install
Running the Backend app
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
Seed data (Put headers in your request Authorization: Bearer {{token}}
, token can be get from Mobile App after successfully login).
POST http://localhost:3000/movies/seed
.POST http://localhost:3000/theatres/seed
.POST http://localhost:3000/seats/seed
, body: {"id": theatreId}
.POST http://localhost:3000/show-times/seed
.POST http://localhost:3000/seats/seed-tickets
.POST http://localhost:3000/neo4j/transfer
.POST http://localhost:3000/comments/seed
.POST http://localhost:3000/promotions/seed
.Flutter
stable
channel:
❯ flutter channel stable
❯ flutter upgrade
❯ flutter --version
Flutter 2.0.0 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 60bd88df91 (8 days ago) • 2021-03-03 09:13:17 -0800
Engine • revision 40441def69
Tools • Dart 2.12.0
❯ flutter packages get
./MobileApp/datn/.prod.env
and ./MobileApp/movie_admin/.env
has following structure:
BASE_URL=datn-081098.herokuapp.com
WS_URL=https://datn-081098.herokuapp.com/
WS_PATH=/socket
PLACES_API_KEY=your_places_api_key
❯ flutter run
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Collaborative filtering
Jaccard index (Jaccard similarity coefficient)
Weighted content
Thanks goes to these wonderful people (emoji key):
Petrus Nguyễn Thái Học 💻 📖 🚧 |
Phong 💻 |
Gunasekhar Ravilla 🐛 🤔 |
This project follows the all-contributors specification. Contributions of any kind welcome!