Samen Steeve
MY SERVICES.
Back to case studies
Software Engineering

EasyPharma — Medicine Search & Ordering

3 platforms delivered (Spring Boot, Angular, Flutter) for medicine search and ordering in Cameroon — team of 4 coordinated via GitHub Actions, 12+ merged PRs, SonarQube and OWASP ZAP.

My role

Tech Lead & Full-Stack Developer

Period

November 2025 — January 2026

Spring BootJava 21AngularFlutterPostgreSQLDockerSonarQubeGitHub Actions
3

Platforms delivered

Spring Boot backend, Angular web, Flutter mobile — one shared API

12+

Merged pull requests

Team of 4 coordinated via feature branches + GitHub Actions CI

75

Backend tests

Unit and integration tests (JUnit 5, Mockito, AssertJ)

DevSecOps

Quality & security

SonarQube in CI, OWASP ZAP, multi-service Docker Compose

Executive Summary

Online pharmacy management and medicine ordering application delivered on 3 platforms (Spring Boot backend, Angular web, Flutter mobile) by a team of 4 developers I coordinated: feature-branch organization, review and merge of 12+ pull requests, GitHub Actions pipeline validating every contribution, SonarQube analysis and OWASP ZAP testing.

01. The Context — Finding a Medicine in Cameroon

Finding a medicine in Cameroon usually means calling pharmacies one by one — without knowing who has it in stock, at what price, or where. EasyPharma solves this: a medicine search and ordering application connecting patients, pharmacies and couriers. A Semester 1 group project (EADL), run by a team of 4 developers with a three-platform delivery requirement: backend, web and mobile.

"Delivering the same product on three platforms imposes one discipline: a single, stable API that web and mobile consume identically."

02. Architecture, Deliverables & Team Coordination

I took on the Tech Lead role: organizing tasks into feature branches, reviewing code and merging each member's contributions through the GitHub Actions pipeline (backend build, frontend build, SonarQube analysis) — no PR passed without a green build. On the backend, a clean 4-layer architecture (Spring Boot 3, Java 21) with JWT, PostgreSQL/PostGIS for geographic search, Flyway migrations, Swagger and 75 tests. The web is Angular 21 (Cypress, Vitest) and the mobile app is Flutter for patient and courier roles: cart with stock verification grouped by pharmacy, orders with partial-success handling, color-coded history.

Spring Boot Clean Architecture

4 layers (presentation, application, domain, infrastructure), JWT, PostgreSQL/PostGIS, Flyway, Swagger.

Team coordination via GitHub

Feature branches, 12+ reviewed and merged PRs, demanding GitHub Actions CI (build + tests + SonarQube).

Intelligent search

Medicines found by name, symptom or geographic proximity (PostGIS).

DevSecOps quality

SonarQube (backend + frontend), OWASP ZAP penetration tests, multi-service Docker Compose.

03. Results & Takeaways

The product shipped on three platforms with measured quality: 75 backend tests, SonarQube in CI, ZAP for security. Coordinating a team on a demanding git workflow confirmed that the Tech Lead role goes beyond code — splitting work into coherent branches, making the CI non-negotiable, and integrating contributions of varying quality without breaking overall coherence.

A similar project?

Let's discuss your needs. I will get back to you within 24 hours with a concrete analysis.

Start a project