Backend programming by web developers and frontend developers in back end programming languages.  Frontend developer, frontend development, back end development, programming languages

July 4, 2023

Invisible Starts - the Power of Backend. Case Studies

SHARE

Backend developers are usually not the ones who talk a lot about their achievements. Nevertheless, their work is incredibly important. The backend part of development is invisible to the user base which defines the work of the whole platform. That is why we took the responsibility to show the stories of our hidden heroes who are so modest that they prefer to stay in the shadow and just do the work that should be done.

We will describe the secret projects our backend experts worked on. We usually can’t show all the details and the depth of complexity because of the legal regulations, but in this article, we will show a fragment of the work done by our backend developers.

1. CRM web application for a car manufacturer

The client needed the support of a backend team with the application for call centre agents. It was the front application that integrates with over a dozen microservices from the corporate ecosystem which act as a data source. The working process was conducted in scrum methodology in 2-weeks sprints. The main responsibilities during this 1-year duration project for the backend developer were:

  • Refine features requested by the client.

  • Assess if there are no obstacles which could block the implementation phase.

  • Split requirements into smaller tasks that could be taken to future sprints.

  • Present them to the development team during estimation sessions.

  • Investigate and fix defects discovered in test or production environments.

  • Implement new features according to the project's backlog and specifications.

  • Document existing pieces of the system.

  • Participate in planning, code reviews, estimation, demos etc.

  • Guide less experienced developers into the project.

In terms of technologies used, the project leveraged a stack that included:

  • Java: The primary programming language used for the backend development.

  • Spring Boot: A Java framework that facilitated the development of the application, providing features such as dependency injection and easy integration with other frameworks.

  • PostgreSQL: A relational database management system used for storing and managing data.

  • Hibernate: An Object-Relational Mapping (ORM) framework used for mapping Java objects to database tables and simplifying database interactions.

  • REST (Representational State Transfer): An architectural style for designing networked applications that communicate over HTTP.

  • Git: A version control system used for managing the source code and facilitating collaboration among the development team.

  • Maven: A build automation tool used for managing dependencies and building the project.

  • Jira: A project management tool used for tracking and managing tasks, issues, and project progress.

  • Bitbucket: A web-based platform for hosting and managing Git repositories, used for version control and code collaboration.

  • Kibana: A data visualization and exploration tool used for monitoring and analyzing the application's logs and performance metrics.

  • PlantUML (puml): A textual modelling language used for creating UML diagrams to visualize and communicate system design and architecture.

  • Flyway: A database migration tool used for managing and versioning database schema changes.

2. VOD - a system providing video on demand for an international client

An online platform combined with multiple µServices that allows users to buy specific content (videos, episodes, seasons, etc) and watch them from the CDNs storage using a custom player.

Also, the layer of admin management was prepared to be able to adjust contents, prepare billing reports and provide customer care. The team of 7 people had many µServices to create from scratch including:

  • playback µServices to provide URI for a stream for an end-user

  • session and terminal µServices to manage user's sessions and terminals which uses to watch the content (prohibition and limitations)

  • user rights µServices to manage the user's entitlements

  • geolocation µServices to allow watching content only from allowed countries

  • order µServices to manage the order lifecycle

  • billing µServices to prepare data needed for billing reports

  • customer care µServices to manage user's problems

Duration of the project: over 2 years and still ongoing

Tools: Java 17, Spring, Spring Boot, MongoDB, Docker, RabbitMQ, Gatling, Swagger, Lombok, Maven, Git, JUnit 5, Mockito, Postman, Kibana, Grafana, Jenkins, Nexus, IntelliJ, Gitlab, Jira, Draw.io

Responsibilities of the team of backend developers:

  • working in a team in developing µServices that are part of the VOD platform

  • defining together with external architects the architecture of the solution

  • learning about business processes and customer needs with an international client

  • participating in scrum events: PI planning, retrospective, refinements, and weekly synchronization with the QA team, etc

  • creating and managing µServices and integrating them with each other using REST/GraphQL/RabbitMQ

  • deploying µServices in many clusters and infrastructures

  • implementing unit, component, performance tests, and also integration tests in Postman scripts

  • preparing documentation of created solutions including all cases on the Confluence and Swagger

3. Application for electric cars

Internal platform for electric cars charging stations allowing user

The platform allows users to find charging station on map and start the charging process.

Duration of the project: 5 months (ongoing)

Position: Java developer

Tools: Java 17, Spring Boot, Hibernate, Liquibase, Postgres, GIT, Maven, JUnit, AWS

Responsibilities: Developing backend service, implementing new features and fixing bugs, writing API tests.

Application for electric car community

Duration: 4 months (ongoing)

Position: Java developer

Tools: Java 17, Spring Boot, Hibernate, Liquibase, Postgres, GIT, Maven, JUnit, Terraform, AWS

Responsibilities: Working in small agile team, implementing new features and integrating with external services, making changes to infrastructure.

4. Green Energy Controller application for managing electricity in the house.

Duration: 10 months (ongoing)

Role: Backend Developer

Tools: Java 18, Spring Boot, Hibernate, GIT, Maven, JUnit, Liquibase, TimescaleDB, AWS (EC2, Lambda, IoT Core), GitLab, GitLab CI/CD, Terraform, Promtail

Responsibilities:

  • Working in a small team, coordinating application details with other teams, developing new functionalities.

  • Communicating with devices located in AWS IoT Core using AWS IoT Core Device Shadow.

  • Creating hooks in AWS Lambda.

  • Communication with the frontend through REST and WebSockets.

5. Green Energy Controller

Project description: solution to manage consumption and production of the electric energy. Including features implemented from scratch like:

  • connecting with AWS IoT to manage physical controllers, read data from them (MQTT, Device shadow), switch some device on/off

  • REST API

  • AWS Lambda - stateless application, which purpose was to verify controller identity in it's setup process

  • setting up whole enviornment from scratch, including AWS EC2, AWS Lambda, Gitlab CI/CD, PostgreSQL with TimescaleDB, Terraform, Promtail, Loki

Duration: 10 months (still ongoing)

Role: backend developer

Tools: Java 18, Spring Boot, Maven, JUNIT, Mockito, Liquibase, AWS

Responsibilities: implementing features, bug fixing, working in a team, defining requirements, testing.

6. Project for the e-mobility startup. The charging system: OICP Adapter, OCPI-CPO Adapter

Time: 7 months

Position: Senior Java Developer

Tools: Java, Spring Boot 3, WebFlux (Reactive), REST

Responsibilities: integrating internal systems with Hubject (eRoaming network/hub) using OICP protocol and with other e-Mobility partners using OCPI protocol, both integrations done as Charge Point Operators (CPO) role, prepared to integrate OICP (Hubject) as e-Mobility Service Provider (eMSP) role.

This is a small fragment of the work done by our backend developers, invisible stars who are always behind the quality and effectiveness of every digital product.

Did you like the material? Share it with friends and colleagues.

Meet the author

Haben Sie irgendwelche Fragen?

Wir beantworten alle Ihre Fragen und finden die beste Lösung für Ihr Projekt.

FrontendHouse logo on cookie banner

Wir verwenden Cookies, um Website-Erfahrung zu personalisieren.