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
Next.js client
Skill discovery, exchange requests, real-time chat, and notifications.
Laravel API
Sanctum authentication and role middleware protect application routes.
Services & repositories
Services enforce exchange rules; repositories handle database queries.
PostgreSQL & Redis
Persistent exchange data and cached reputation scores.