A digital guest book application to post / manage customer feedback for hospitality. Frontend uses Next.js and backend uses Java Spring boot.
git clone https://github.com/twilsonn/guestbook.git
cd ./guestbook
cd ./backend
mvn clean compile exec:java
cd ./frontend
npm install
npm run build
npm run start
| username | password | is_admin |
|---|---|---|
| admin | pasword | TRUE |
| jane.smith | pasword | FALSE |
Create a guestbook application which consists of two types of users.
Guests
Administrator
The tool should be developed with OOP/MVC approach. The structure of the database tables should fit to the model/entity classes.
Technologies to use (Please use most recent supported versions available):
- Backend Framework - Java/Spring
- Frontend Framework – Thymeleaf/Bootstrap/React
- Database - Any DB MySQL/MongoDB etc.
- JUnit
- Git
- User needs to login in order to write a new entry in the guestbook
- Guestbook entry can be either a single image or a text
- View all the entries posted by all the users
- Approve the entries
- Remove the entries
- Unit test to test the services/functions
- Write a guestbook application
- A guestbook entry can be an image or text
- Guest users need to login to write an entry
- Administrator can view, edit, approve or delete entries
- Share Github or Bitbucket URL
| Endpoint | Description | Permission Level |
|---|---|---|
| POST /api/auth/login | log user in | ALL |
| GET /api/auth/refresh | refresh auth token | ALL |
| GET /api/post | get all approved (pending for admins) posts | ALL |
| POST /api/post | create a new post | USER |
| DELETE /api/post | delete a post (if admin) | ADMIN |
| PUT /api/post | edit a post (if admin) | ADMIN |
| GET /api/post/{id} | approve a post with ID {id} | ADMIN |