Skip to content
Omar Sweiti
All projects

Case study · 2025

GiftLink

MERN platform for giving away household items

Connects people giving away household items with people who would rather reuse than buy new. Browse and filter the catalogue, open a gift's details and register to take part.

Context
Capstone project · IBM full-stack certificate
Year
2025
Gift catalogue on the home page

Overview

A full-stack MERN application built as three independently deployable services: a React single-page app, an Express REST API on MongoDB with JWT authentication, and a separate sentiment-analysis microservice that scores reviews. Keeping sentiment scoring in its own service means it can be scaled or replaced without touching the core API.

Every write path is validated with express-validator, passwords are hashed with bcrypt, and the API logs through Pino. The backend is tested with Mocha, Chai, Sinon and Supertest; a GitHub Actions pipeline lints the backend and verifies the client's production build. The services were containerized and deployed to Kubernetes on IBM Cloud.

Key features

  • Three services: React SPA, Express and MongoDB REST API, sentiment-analysis microservice
  • JWT authentication with bcrypt-hashed passwords and validation on every write path
  • Search and filtering by category, condition and age
  • GitHub Actions CI; containerized and deployed to Kubernetes

Architecture

  • React SPA

    React 18, React Router and React Bootstrap

  • Express API

    MongoDB, JWT auth, express-validator and Pino logging

  • Sentiment service

    Standalone microservice that scores reviews

  • React
  • Node.js
  • Express
  • MongoDB
  • JWT
  • Docker
  • Kubernetes
  • GitHub Actions

Screens

Select a screenshot to see it larger.

1 / 6Gift catalogue on the home page

Gift catalogue on the home page