This project is simulating a stackoverflow system using the Spring framework.
To run this project, follow these steps:
- Clone the repository.
- Build and run the project using docker-compose.
- Retrieve a list of all posts.
- Get a specific post by its ID.
- Add an image to post by its ID.
- Add a new post.
- Update information about an existing post.
- Delete a post.
- Retrieve a list of all categories.
- Get a specific category by its ID.
- Add a new category.
- Update information about an existing category.
- Delete a category.
- Retrieve a list of all programming languages.
- Get a specific programming language by its ID.
- Add a new programming language.
- Update information about an existing programming language.
- Delete a programming language.
- Retrieve a list of all users.
- Get a specific user by its ID.
- Add an image to user by its ID.
- Register new user.
- Set activation code to email to register.
- Login user.
- Reset password.
- Set activation code to email to reset password.
- Retrieve a list of all comments by user-post id.
- Get a specific commentary by its ID.
- Add a new commentary.
- Update information about an existing commentary.
- Delete a commentary.
- Retrieve a list of all favorites by user email.
- Retrieve a list of all favorites.
- Add a new post to favorites.
- Update information about an existing favorites.
- Delete a favorites.
- Spring Boot 3
- Java 17
- ORM: Spring Data MongoDB
- MongoDB
- OpenAPI Swagger for open-api docs
- Lombok
- Spring Security for authentication
- JWT
- EmailSender for activation code sending
- Thymeleaf for receiving views
- Docker for containerization and deployment
- Clone project
git clone https://github.com/artemelyashevich/library-api.git
- Build project
mvn clean && mvn install
- Up docker-compose file
docker-compose build && docker-compose up -d