A backend api for a simple social network.
- Feed (implemented using "fan-out write" model)
- Create/Edit/Delete posts
- Follow/Unfollow users
- Search in users by name
- Like posts
- Add/Remove comment on posts
- Notifications
The app is divided into three layers (read more about this architecture):
- Spring Boot
- Hibernate
- Hibernate Search (with Elasticsearch)
- PostgreSQL
- Redis
- Lombok
- springdoc (provides Swagger)
- Java JWT
- Mockito
- JUnit