Skip to main content
Simon Stijnen
Back to All Projects

BEMED - Zero Waste Montenegro

BEMED project logo - Zero Waste Montenegro environmental management platform

BEMED project logo - Zero Waste Montenegro environmental management platform

BEMED is a full-stack web application built to help government institutions in Montenegro track and reduce their consumption of single-use plastics — part of a broader Zero Waste initiative supported by the Erasmus+ Blended Intensive Programme (BIP).

Background

This project was developed in collaboration with international students from Hogeschool VIVES (Belgium), Zealand – Sjællands Erhvervsakademi (Denmark), and Hogeschool Inholland (Netherlands). The programme combined several weeks of remote teamwork with a final in-person sprint at Universidad Politécnica de Madrid, making cross-timezone coordination and clear API contracts essential from day one.

What I Built

The application provides institutions with a structured way to register, categorise, and monitor expenses tied to single-use plastic items. The stack was chosen to keep the backend and frontend decoupled and independently deployable:

  • Express.js REST API written in TypeScript, exposing endpoints for expense registration and reporting
  • Vue single-page application consuming the API and rendering dashboards for institution staff
  • MySQL relational database storing expense records, categories, and user accounts
  • Keycloak handling authentication and role-based access control, keeping auth logic out of application code
  • Docker Compose setup for consistent local development and straightforward deployment

Technical Highlights

  • Stateless API design with JWT tokens issued by Keycloak, enabling easy horizontal scaling
  • Role separation between regular staff (data entry) and administrators (reporting and configuration)
  • Containerised services mean the entire stack — API, frontend, database, and Keycloak — spins up with a single docker compose up
  • International collaboration required clear OpenAPI-style documentation so team members across three countries could integrate against the API without constant back-and-forth

Technologies Used

  • Project Management
  • Node.js
  • TypeScript
  • REST API
  • Express.js
  • Vue
  • MySQL
  • Keycloak
  • Docker

Related Projects

Signapse
Using computer vision and machine learning to translate sign language gestures into text.
CERM MCP PoC
A proof of concept email automation agent using Microsoft 365 MCP server and LangChain.
Pop-a-loon
A full stack Chrome extension with 200+ users, featuring interactive balloons and real-time stats.