article-spots
article-carousel-spots
programs
News

Student projects of the training center laboratory: BEACONS

25 Dec 2020

We continue to introduce you to the projects of the EPAM training center laboratory. This time we interviewed senior developer Ashot Aslanyan, project manager of the BEACONS project.

About the project 

BEACONS is an indoor navigation project. Imagine that you are given the task of implementing indoor navigation. The already familiar GPS, GLONASS, and similar navigation satellite systems in buildings will not work. In this case, you need the Beacons technology, hence the name of the project. These are Bluetooth beacons and readers placed indoors. When a person or other object moves, the beacon makes a signal. The readers read it, and, according to the readings of 5–6 readers, with some accuracy, the object location is defined. The BEACONS project started as an educational one, but, in the future, it will be a commercial project. 

Problem 

The idea for the indoor navigation training project came when an energy company with oil drilling rigs came to EPAM. The main request was to control the safety of their personnel: who and where is on the territory, whether there is a threat of falling overboard, etc. The training center decided that it would be possible to practice the development of such a system by creating navigation inside the EPAM office. 

Later it became clear that other companies, for example, retail, have similar tasks. The problem of navigation and tracking became even more urgent during the pandemic when constant monitoring of social distance became required. 

Solution 

Over the two years, we improved the technical part of the project. Firstly, we built a laborious process of working with hardware, I mean, the correct selection of readers, beacons, and antennas. Secondly, there is the issue of energy efficiency. Beacons consume power even when they are not broadcasting. One battery lasts for about two years, but there is always something to improve in this parameter. 

The next important issue is working with algorithms. According to the laws of physics, the human body reflects the signals of the beacons, so this extra “noise” makes it difficult to determine the exact distance. To solve this problem, the project team consulted with EPAM developers working on algorithms. After that, they created a special algorithm to help “clean” the signals. After receiving the data, we apply one more algorithm—trilateration. Trilateration is required to calculate the location of objects. Algorithms remain the most complicated part of the project. The rest is something we already know—work on the interface and administration panel. In test mode, we managed to implement the full version of the indoor navigation of the EPAM.

What is interesting about the project?  

The advantage of Beacon technology is that it easily adapts to different tasks. Moreover, it is based on the same technical equipment. It is good for both a shopping center and a factory. Internal navigation helps anyone quickly find the nearest check-in counter in a huge airport building or a department with the right product in a shopping center. Beacons help you navigate in space and create hints on the map in the application. 

With navigation inside shopping centers, new marketing tools appear—walking by the store, a person instantly learns about discounts in a pop-up message on the smartphone screen. 

Project technology stack 

On a class project, students perform a variety of tasks on two important project components: the server part, where data is collected, the location is processed and calculated, and the front-end part, where the administration panel interface is developed. 

The lab students are constantly developing their skills, working with different frameworks. The front-end uses React and map providers to show who and where is. That is why the cartographic support is well-developed on the project: first, we used Google Maps, then OpenStreetMap. Since there is no clear reference to the map format, it will be easy to switch to any other option. 

The back-end of the project is microservice architecture. The frameworks we use are Spring, Spring Boot, and Spring Security. As a messaging tool between modules, we use Kafka. For storing and managing data, we use Mongo DB. Such a stack is already an IT industry standard and is also used on most real projects. Students who are already familiar with these technologies will find it much easier to work with them in the future. 

Project team 

The team consists of ten people: six Java developers, two frontend developers, and two DevOps engineers. Six EPAM mentors work with this group of students to design application architecture, review the code, and answer questions. There is also a technical lead responsible for the entire application, who considers improvements and participates in the code verification. 

The role of mentors in the project  

At the end of the training, each student will have to check the level of knowledge and pass the final technical interview. Therefore, mentors also try to help students with their preparation: they give recommendations, show where students have gaps, and arrange test interviews. On average, we hold such an interview after three months of study in the laboratory of the EPAM training center. At the end of the training, the mentor writes feedback to each student. After that, the student is assigned a technical interview for the company’s commercial project. There are cases when graduates of trainings become mentors after a year of work on a real project; the BEACONS team has such examples. 

Process organization  

One of the difficulties in organizing a project is student adaptation. It is important that they quickly immerse themselves in the process and other components of the project, and not just read the documentation. For this purpose, we hold internal tech talks—regular online meetings, where mentors talk in detail about the tools and technical tasks that students will have to work with. At meetings, not only mentors can actively share information, but also more experienced students. They also help beginners understand the tasks. 

The BEACONS project follows the slogan: “There’s no such thing as a stupid question”. It is important to ask what is not clear. Another life hack: ask questions in chat rooms instead of personal emailing your mentor. This way students can help each other, get answers to questions faster, communicate more and learn to work in a team. 

Usually, projects work with Scrum and Agile: twice a month they analyze backlog (list of tasks) and define tasks for two-week working intervals-sprints. In addition, there are daily calls, where students talk about their current work and the difficulties they faced. 

The future of the project  

We are planning to go deeper into mobile development: we have already implemented the application on Android, and we are developing the platform on iOS. Now the project is at the stage when there is a test stand and preparations are underway for the presentation of the project for business.