Web service for advertisements for sale of real estate is an application that allows customers and sellers of real estate to find interesting offers and make deals. Main application functionalities are:
- Sign in and login of users (including sign up with LinkedIn).
- Search for ads by specific criteria and areas of the geographical map (Google Maps).
- Adding and editing of real estate objects.
- Personal cabinet with several user roles (customer, seller, administrator).
The application consists of the server and client parts. The client part is a web application implemented using the React framework and its various plugins. Adaptive layout is implemented using Bootstrap as the CSS framework and LESS as styles language. The server part is a set of REST services.
The team performed layouts, integration with the server part using REST API, development of logic for data output and data input forms.
Instruments: GIT, BitBucket, Redmine, JetBrains WebStorm.
React plugins: react, react-bootstrap-multiselect, react-dom, react-google-map, react-redux, react-responsive-carousel, react-router, react-scripts, react-simple-month-picker, react-simple-popover.
External API: LinkedIn Authentication API, Google Maps API.
- Communication and collaboration with territorially distributed teams.
- An iterative approach to development was applied: Scrum/Agile methodology, daily internal meetings, weekly demo to the customer, using Redmine for project management and reporting.
- Development of the frontend part of the application was implemented from scratch.
The customer was delivered the frontend part of the application, implemented in accordance with all incoming requirements.
Company’s achievements during the project
- Deeply customized functionality of Google Maps was studied and implemented in the context of the React framework.
- In addition to the frontend development, our team was involved in doing some server tasks, in particular, describing the REST API methods.
- Our team offered several ideas for improving layouts, many of them were accepted by the customer.
- Some React components initially were not equipped with sufficient functionality, that’s why they were improved by our team.
- The team resolved the conflict of two Bootstrap plugins: one of them was replaced by an alternative customized component.
Articles based on the project experience
Adaptive website layout: the overview of approaches and CSS frameworks