This is a movie ticket booking application built with React. Users can log in using Auth0 with Google 📧 and GitHub 🐙 accounts. Once logged in, they can view their ticket if it is available. Otherwise, they can see their user details fetched from Auth0 and book a new ticket.
- React ⚛️
- HTML/CSS 🎨
- JavaScript 🚀
- Auth0 for authentication 🔐
- React Router for routing 🌐
![Laptop Screen](https://private-user-images.githubusercontent.com/84281582/248443971-74cd6f70-a0b0-4412-99e6-865618a494e3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MzY1NjgsIm5iZiI6MTczOTQzNjI2OCwicGF0aCI6Ii84NDI4MTU4Mi8yNDg0NDM5NzEtNzRjZDZmNzAtYTBiMC00NDEyLTk5ZTYtODY1NjE4YTQ5NGUzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDA4NDQyOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTMxOTg0YjU4YjgzZjU0ZmQ2OWE4NGIyM2Y4Y2ZmOTg0OWE4MGQ2M2M5ZjZhNjRiNzQzNWNhZmMyNDMzYTQ3NjYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.EQkwxsMCDL-T25bUpXfbJwAxe_TlxGDaVZxFZUBZFqg)
![Laptop Screen](https://private-user-images.githubusercontent.com/84281582/248443994-b64c5e02-a085-418f-826f-92bcb6fcefe8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MzY1NjgsIm5iZiI6MTczOTQzNjI2OCwicGF0aCI6Ii84NDI4MTU4Mi8yNDg0NDM5OTQtYjY0YzVlMDItYTA4NS00MThmLTgyNmYtOTJiY2I2ZmNlZmU4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDA4NDQyOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ4ODIzYjEwYzg4MTUxM2VmYWFhNDI4NmY5YjJmOGQzMzY0OGU2Y2ZkOTI1NWQyZTJkZmUzN2ZmMDExM2Y2YTMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.pYp2JoiA2SM2AzUQpVeQX9vsfr7nWBKHGpGhihHnAto)
![Laptop Screen](https://private-user-images.githubusercontent.com/84281582/248444097-fe37cb6d-ff73-4bce-8221-47651f92d9c9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MzY1NjgsIm5iZiI6MTczOTQzNjI2OCwicGF0aCI6Ii84NDI4MTU4Mi8yNDg0NDQwOTctZmUzN2NiNmQtZmY3My00YmNlLTgyMjEtNDc2NTFmOTJkOWM5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDA4NDQyOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTMwYzY2MjZkMThkZTU0ZWMzZTBkYzY4NjYyMGNjYTc5ZGMyNWRlMGU4NzQzMTg3ZWM2YTcwYTJhMjQxMjVkZTcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.dUUmd2jcxWBfBLdNUSIJBdTfNNaCnkw9_bJIBVX_tKg)
![Laptop Screen](https://private-user-images.githubusercontent.com/84281582/248444138-4c9ab1c1-398e-449d-a6a9-4d646b939d43.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MzY1NjgsIm5iZiI6MTczOTQzNjI2OCwicGF0aCI6Ii84NDI4MTU4Mi8yNDg0NDQxMzgtNGM5YWIxYzEtMzk4ZS00NDlkLWE2YTktNGQ2NDZiOTM5ZDQzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDA4NDQyOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWIwMDdmMDlhNTM0NmYyZDI5NmUyZDg5MmQ5MTAyYjE0NzMyMTBmNWQ5YzVmMTc4ZGYyMmM3ZTZjM2JiYzQ5YTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.fl6grYIpyr53eiFrEC_4esnGOV6gzQtduaJjGUOaSOg)
![Laptop Screen](https://private-user-images.githubusercontent.com/84281582/248444209-7401d2fb-e260-41b7-b074-15108442b95a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MzY1NjgsIm5iZiI6MTczOTQzNjI2OCwicGF0aCI6Ii84NDI4MTU4Mi8yNDg0NDQyMDktNzQwMWQyZmItZTI2MC00MWI3LWIwNzQtMTUxMDg0NDJiOTVhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDA4NDQyOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc2MzIzNWI0ZjRlOTBkOWM5MDlhYmQwNTdmOGUzOWNhNWRiMmU4MGI0NDVkZmI5MGRjNTAyMWIwNWRkMmMyN2ImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.GIGlJKczC5AMgNWRfnwlCemscyuC2J-GeYA5ezkucNg)
![Laptop Screen](https://private-user-images.githubusercontent.com/84281582/248444233-d9da4f44-780c-4928-a536-254108b9e6e5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MzY1NjgsIm5iZiI6MTczOTQzNjI2OCwicGF0aCI6Ii84NDI4MTU4Mi8yNDg0NDQyMzMtZDlkYTRmNDQtNzgwYy00OTI4LWE1MzYtMjU0MTA4YjllNmU1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDA4NDQyOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBiODFmYWMyNTA4YjFlMzQ2NDA5ODBiMmFkZWExOTAzMDdlZWZkNzBkYjAwOTE0ZDY0YzJiYjQxOWFlNGNiOGImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.TPnLHW57P670uB7dg-zgm0gv2JN9zxWUqKk0SFiyb7g)
To run the application locally, follow these steps:
-
Clone the repository:
bash git clone https://github.com/your-username/movie-ticket-booking-app.git
-
Install the dependencies:
bash cd movie-ticket-booking-app npm install
-
Set up Auth0:
- Create an account on the Auth0 website.
- Configure your Auth0 application with the necessary settings for Google and GitHub login providers.
- Obtain the required client credentials (client ID and client secret) and configure them in the application.
-
Set up the API:
- The application uses an API hosted at https://my-json-server.typicode.com/nileshkr17/api-bookmyshowSELF.
- Make sure the API is up and running before starting the application.
-
Start the development server:
bash npm start
-
Open the application in your browser:
- User authentication with Auth0 🔒
- Movie selection based on user location 🌍
- Ticket generation with seat details 🎟
- Ability to download the ticket with a user-friendly UI 💻
Contributions are welcome! If you find any issues or have suggestions for improvements, please create a new issue or submit a pull request. 🤝