This project is built using NestJS, MySQL with Prisma for the database, JWT for authentication, and Cloudinary for file uploads.
- NestJS Backend: A robust backend framework for building scalable server-side applications.
- MySQL with Prisma: Prisma is used as the ORM for database operations.
- JWT Authentication: Secure authentication using JWT access and refresh tokens.
- File Upload: Cloudinary is integrated for handling file uploads.
-
Clone the repository:
git clone https://github.com/akapez/book-store-be.git cd book-store-be
-
Install dependencies:
yarn install
-
Set up environment variables: Create a
.env
file in the root directory and add the following variables:DATABASE_URL="mysql://johndoe:mypassword@localhost:3306/mydb?schema=public" AT_SECRET=your-access-token-secret RT_SECRET=your-refresh-token-secret CLOUDINARY_CLOUD_NAME=your-cloudinary-cloud-name CLOUDINARY_API_KEY=your-cloudinary-api-key CLOUDINARY_API_SECRET=your-cloudinary-api-secret
-
Start the development server:
yarn start:dev
-
The server will start on
http://localhost:8080
.
- Prisma MySQL Documentation: https://www.prisma.io/docs/orm/overview/databases/mysql
- Cloudinary Documentation: https://cloudinary.com/documentation
- Postman Documentation: https://documenter.getpostman.com/view/39322873/2sAYBUDY4U
The frontend application for Booktopia, built with Next.js, can be found at https://github.com/akapez/book-store-fe.
This project is licensed under the MIT License - see the LICENSE file for details.