This project is built using Next.js, NextAuth for authentication, React Hook Form with Zod for form validation, Jest for unit testing, Playwright for end-to-end testing, Redux Toolkit for state management, and shadcn/ui for UI components.
- Next.js: A React framework for building server-side rendered and static web applications.
- NextAuth: Authentication for Next.js applications.
- React Hook Form / Zod: Form handling and validation.
- Unit Testing: Jest is used for writing and running unit tests.
- End-to-End Testing: Playwright is used for writing and running end-to-end tests.
- State Management: Redux Toolkit is used for managing the application state.
- shadcn/ui: A UI component library.
-
Clone the repository:
git clone https://github.com/akapez/book-store-fe.git cd book-store-fe
-
Install dependencies:
yarn install
-
Set up environment variables: Create a
.env.local
file in the root directory and add the following variables:API_BASE_URL=your-api-base-url NEXTAUTH_SECRET=your-nextauth-secret NEXTAUTH_URL=your-nextauth-url NEXT_PUBLIC_BASE_URL=your-next-public-base-url
-
Set up environment variables for testing: Create a
.env.test
file in the root directory with the same variables as.env.local
.
-
Start the development server:
yarn dev
-
The application will start on
http://localhost:3000
. -
This project uses
commitlint
. Please follow the convention below when committing your changes:git commit -m "subject: message"
-
Run unit tests:
yarn test
-
Run end-to-end tests:
yarn test:e2e
The backend application for Booktopia, built with Nest.js, can be found at https://github.com/akapez/book-store-be.
This project is licensed under the MIT License - see the LICENSE file for details.