Skip to content
Sabin Pant.
Back to projects

Community platform

SkillSwap

Peer-to-peer skill exchange

A platform for exchanging skills instead of money. Users can find teachers, arrange exchanges, chat in real time, and review completed sessions.

Overview

SkillSwap pairs a Laravel API with a Next.js frontend. It covers the full exchange process, from finding someone to learn from to completing a session and leaving a review.

Controllers, services, and repositories keep responsibilities separate. The project includes 105 automated tests with 241 assertions and a Docker Compose environment for local development.

Key features

  • Skill requests with guarded state transitions and automatic expiry.
  • Real-time messaging with attachments, read status, and paginated history.
  • Reviews, cached reputation scores, notifications, and admin moderation.
  • Sanctum authentication and role-based access for protected actions.
  • 105 automated tests and 241 assertions run through GitHub Actions.

How it’s built

  1. Next.js client

    Skill discovery, exchange requests, real-time chat, and notifications.

  2. Laravel API

    Sanctum authentication and role middleware protect application routes.

  3. Services & repositories

    Services enforce exchange rules; repositories handle database queries.

  4. PostgreSQL & Redis

    Persistent exchange data and cached reputation scores.