Booklist is the management book system for tracking progress and sharing reviews. In your own booklist, you can organize books, set statuses and leave reviews.
- Node.js
- Typescript
- MySQL
- Docker
> docker-compose up -d
You can change environment variables in .env file.
GET /authors - returns all authors
GET /authors/:id - returns author
POST /authors/ - creates author
POST /authors/:id/image - uploads author image
PUT /authors/:id - updates author
DELETE /authors/:id - deletes author
GET /books - returns all books
GET /books/:id - returns book
POST /books/ - creates book
POST /books/:id/image - uploads book image
POST /books/:id/file - uploads book file
PUT /books/:id - updates book
DELETE /books/:id - deletes book
GET /genres - returns all genres
GET /genres/:id - returns genre
POST /genres/ - creates genre
PUT /genres/:id - updates genre
DELETE /genres/:id - deletes genre
GET /statuses - returns all statuses
GET /statuses/:id - returns status
POST /statuses - creates status
PUT /statuses/:id - updates status
DELETE /statuses/:id - deletes status
GET /roles - returns all roles
GET /roles/:id - returns role
POST /roles/ - creates role
PUT /roles/:id - updates role
DELETE /roles/:id - deletes role
GET /users - returns all users
GET /users/:userId - returns user
POST /users/signup - creates user
POST /users/signup/moderator - creates moderator
POST /users/signup/admin - creates administrator
POST /users/signin - returns JWT
PUT /users/:userId - updates user
PATCH /users/:userId/role - update user role
DELETE /users/:userId - deletes user
POST /users/:userId/books/:bookId - adds book to user's booklist
PUT /users/:userId/books/:bookId - updates booklist item
DELETE /users/:userId/books/:bookId - removes item from booklist
GET /reviews - returns all reviews
GET /reviews/:userId/:bookId - returns book review
POST /reviews/:userId/:bookId - creates book review
PUT /reviews/:userId/:bookId - updates book review
DELETE /reviews/:userId/:bookId - deletes book review