apartments_search

This project was developed to secure the principles of design and development of modern web-applications.

Stars
0
Committers
2

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)
Related Projects