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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MjQ1NjQsIm5iZiI6MTczOTYyNDI2NCwicGF0aCI6Ii84NDI4MTU4Mi8yNDg0NDM5NzEtNzRjZDZmNzAtYTBiMC00NDEyLTk5ZTYtODY1NjE4YTQ5NGUzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDEyNTc0NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTEyODFiYzRlYzQwZjY2OGM2ZmQ5OTk1MzU2Nzk4MDA1ZjdlNTZjYzEwMWU2MWVhYmYyNmYwMTUwMTkyNmMyZTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.q_X3yeOThPJ07ZsdgCMorindVnofUx542Ak5F0DG8U8)
![Laptop Screen](https://private-user-images.githubusercontent.com/84281582/248443994-b64c5e02-a085-418f-826f-92bcb6fcefe8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MjQ1NjQsIm5iZiI6MTczOTYyNDI2NCwicGF0aCI6Ii84NDI4MTU4Mi8yNDg0NDM5OTQtYjY0YzVlMDItYTA4NS00MThmLTgyNmYtOTJiY2I2ZmNlZmU4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDEyNTc0NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ2NjQ0ZTkxNTJmZmFhM2ZjZDRlOGNiYTRkNThiYjA3OTBkNTQyN2MwOTNkYjIyZDg0MzNjYjIxMDhlMzlkMmMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.1WeXtBAd-L-B1m3Su9JuGKlYY1NP2kqNgg9P3xzpQ8A)
![Laptop Screen](https://private-user-images.githubusercontent.com/84281582/248444097-fe37cb6d-ff73-4bce-8221-47651f92d9c9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MjQ1NjQsIm5iZiI6MTczOTYyNDI2NCwicGF0aCI6Ii84NDI4MTU4Mi8yNDg0NDQwOTctZmUzN2NiNmQtZmY3My00YmNlLTgyMjEtNDc2NTFmOTJkOWM5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDEyNTc0NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM3YjlkOTBjN2E0YTI3YWNiNzA2NWRlZjYwMWU2MzAxNmRhZDkwY2I1M2JmNWUzOTM1ZDczYjE3MThlYjAwYTUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.ee4lHuGiPjOyZoe98CteY7v7Q0NFrdbBEn0GtToTPUc)
![Laptop Screen](https://private-user-images.githubusercontent.com/84281582/248444138-4c9ab1c1-398e-449d-a6a9-4d646b939d43.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MjQ1NjQsIm5iZiI6MTczOTYyNDI2NCwicGF0aCI6Ii84NDI4MTU4Mi8yNDg0NDQxMzgtNGM5YWIxYzEtMzk4ZS00NDlkLWE2YTktNGQ2NDZiOTM5ZDQzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDEyNTc0NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTkzYzJiODEzZmMxMjQ5YzM3OWFhMDFkMjVkYmI4MGMyMDdmYjIxY2E1ZjJkN2RmY2M4NmY3OTNhZDYwODcxM2EmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.e5UJAUsHgxe8_PLhp5GUcnv8PUKWvAUYnLkruLRVZBs)
![Laptop Screen](https://private-user-images.githubusercontent.com/84281582/248444209-7401d2fb-e260-41b7-b074-15108442b95a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MjQ1NjQsIm5iZiI6MTczOTYyNDI2NCwicGF0aCI6Ii84NDI4MTU4Mi8yNDg0NDQyMDktNzQwMWQyZmItZTI2MC00MWI3LWIwNzQtMTUxMDg0NDJiOTVhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDEyNTc0NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA5NTk0NWM4ODRjZDhiMmVmY2FkMTZhZjk0YmVkMzVmZGI4NzgyNTFhNGI5Y2Q5YmY5YmE5MWRiOTBhZWMzNmQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.nn7I5wmhZsqr_4UztUBp8l86rH7xFT-X2EtRv5ABS5k)
![Laptop Screen](https://private-user-images.githubusercontent.com/84281582/248444233-d9da4f44-780c-4928-a536-254108b9e6e5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MjQ1NjQsIm5iZiI6MTczOTYyNDI2NCwicGF0aCI6Ii84NDI4MTU4Mi8yNDg0NDQyMzMtZDlkYTRmNDQtNzgwYy00OTI4LWE1MzYtMjU0MTA4YjllNmU1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDEyNTc0NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg0YmMwZDkzOTViZmFmOWFkYjgyMjAxM2E0NTUwNzU0ZWJhZjQ1ZDUzOWU0MmFkNzNjYjlkNTBhZDc1NjIxMWUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.yL8jd7Bx1Cdw7NyNVajb9GA4KnoA8TJk0pyZlnBaODI)
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. 🤝