Skip to content

Personal · 2025–26

Social Network

A social network with a feed, groups, private and group chats, privacy settings and real-time updates.

ReactTypeScriptSymfonyPHPPostgreSQLDocker

Problem

Bring publishing and communication together with access control that accounts for friendships, blocks, profile privacy and group membership.

Implementation

  • React and TypeScript client: feed, comments, reactions, profiles and groups.
  • Symfony API with Doctrine, PostgreSQL and JWT authentication.
  • Friend requests, blocking and privacy settings.
  • Private and group chats, media uploads to MinIO/S3 and live updates through Mercure (SSE).
  • Docker Compose and Nginx; Playwright scenarios for authentication, posts and profiles.

Decision

The React client and Symfony API evolve separately. React Query manages server data in the interface, Mercure delivers events, and MinIO stores uploaded files.

Align the visibility of posts and messages with user relationships and real-time updates.

Outcome

The client, API, Docker environment and end-to-end tests are published. A separate demo link is available for the project.