Networkee project home page

NETWORKEE

Networkee is a full-stack mini social network for digital professionals, inspired by LinkedIn: a paginated feed with text, image and video posts, likes, comments, reposts, follows, notifications and job offers with applications. Built with PHP 8.2 and vanilla JavaScript, it runs on MySQL locally and PostgreSQL in production, deployed on Railway in a Docker container (Nginx + PHP-FPM).

PHP 8.2 MySQL PostgreSQL JavaScript Docker Railway

PROJECT DETAILS

Objective

The goal was to build a complete social network dedicated to web professionals — developers, project managers, UX designers — bringing together in one place a news feed, member profiles, a follow system, notifications and a job board with applications. The interface takes its cues from LinkedIn: profile cards on hover, a media composer, a light/dark theme and a floating "Quick access" panel available on every page.

Technologies used

The back end relies on PHP 8.2 with PDO and prepared statements, deliberately without any framework to keep the code minimal and readable. The database layer supports two engines with the same logical schema: MySQL 8 for local development and PostgreSQL in production — the code detects the environment and adapts automatically. The front end combines HTML, CSS with custom variables for theming, and vanilla JavaScript with jQuery. Production runs on Railway in a Docker container with Nginx and PHP-FPM, and an idempotent initialization script creates missing tables on every deployment.

Challenges and solutions

The main challenge was keeping a single codebase working on two database engines, from local XAMPP to Railway production. I solved it by centralizing the connection logic, maintaining both SQL dialects in parallel and making the production schema script idempotent. Other highlights include secure authentication with hashed passwords and token-based password reset, client-side media size checks before upload, and a notification system that marks items as read on click and redirects to the related content.