SEA Cinema
Description
A rising star in the movie theater industry known for its affordable ticket prices and wide range of movie genres. The app allows users to effortlessly browse through a collection of movies. With the ticket booking feature, users can easily select showtimes, choose seats, and secure their reservations in seconds.
Library / Tools Used
- Next.js (Fullstack Framework)
- React (JS Library)
- TailwindCSS (CSS Framework)
- Typescript (Typesafe for JavaScript)
- NextAuth (Authentication)
- CockroachDB (Database Provider)
- Prisma (Object Relational Mapper)
- React Hot Toast (Toasts)
Features
- Authentication (Sign In & Sign Up)
- Home Page (Available movie list)
- Movie Detail Page
- Movie Booking Page
- Current Balance Page
- Ordered Tickets Page
Development Experience
This project was developed during my holiday break after completing my second semester in May 2022 to fulfill the requirements of the Compfest Software Engineering Academy. At that time, Next.js v13 (app router) had just been released, and I decided to experiment with it. To be honest, my experience with Next.js v13 was quite challenging. The developer experience was marred by frequent lags, inefficient cache handling, and numerous bugs.
Despite these hurdles, I am proud of this project as it marks my first personal venture into software development. Throughout the development process, I gained invaluable skills, including creating secure authentication systems, setting up databases, and using Object-Relational Mappers (ORMs). Additionally, I learned to work with the new APIs introduced in the Next.js v13 App router, which added to my understanding of modern web development frameworks.
Reflecting on the project, there are two areas I believe could have been improved. Firstly, the user interface could have been more polished and user-friendly. Secondly, instead of hard-coding the movie data, utilizing an API would have been a more efficient and scalable solution. Overall, this project has been a significant learning experience, and I am pleased with the progress I made.