Description
Web application based on microservice architecture style. It grants information about relevant flat rent and sale options.
How to run
To start the application, follow these steps:
1. Clone the repository
Clone project repository by this command:
git clone https://github.com/L1BER2Y/apartments_search.git
2. Next, go to the root directory and start application in docker by following command:
docker compose up -d
Application diagram:
Application microservices:
User-service
- This microservice is responsible for admin (creating/editing users, user information, and user (registering, verification, logging in, user information) functions.
- Also it has user action tracking functionality, that was implemented with the help of Aspect-oriented programming.
Flats-service
- Flats-service is used to display information about flats.
- You can also specify you request with filters (price, bedrooms, area, floors, photos).
Parser-service
- This microservice parses info about flats from https://re.kufar.by/ website in real time.
- Parsed information is stored into application database.
Audit-service
- Audit-service accepts audited actions from user-service and stores them into database.
- It has admin feature to check audited actions for chosen user by id.
Report-service
- Service create reports based on user's audited actions.
- It accepts report requests, can display report status, give page of reports, provides created report download link.
Mail-service
- Responsible for sending verification codes to email addresses during user registration.
Used technologies and frameworks:
Future plans:
Unit-testing
- Expand audit functionality
- NoSQL database
- Message broker (RabbitMQ)