Next Cinema Frontend

React, Typescript, Vite, React Hook Form, Stripe, Tailwindcss, Shadcn, Axios, React Query, Zod

Built with React and TypeScript, Next Cinema Frontend is a web application that enables users to securely purchase movie tickets via Stripe, while providing a dedicated dashboard for administrators to manage cinema screenings.

s

Important Functionalities

  • The entire routing logic resides in main.js (react router).

  • For navigation purposes, I've used Link and useNavigation (react router).

  • There is a global axios client configured for the API.

  • I've used axios response interceptors for handling expired access token (jwt).

  • I've used axios request interceptors for attaching accessToken (jwt) on every request.

  • For authentication the app uses JWT. Access token is being stored in react state and the refresh token in an HTTP-only cookie.

  • For authorization purposes, the app uses two components wrappers (AdminRoute, UserRoute).

  • For fetching I've used useQuery and for mutations I've used useMutation (react query).

  • Forms are being handled by react hook form and the validation side is made possible with zod.

Back to all projects