Lumea
A modern social media platform with real-time messaging, private profiles, and rich social interactions.

Overview
Lumea is a full-stack social media platform inspired by modern social networking applications. Users can create and interact with posts, discover other profiles, communicate through real-time messaging, receive notifications, and customize their account privacy, all within a responsive React frontend powered by a Node.js backend.
The problem
Building a social media platform requires combining content sharing, user relationships, messaging, notifications, and privacy into a seamless experience while maintaining performance and scalability. Managing these interconnected features efficiently presents both architectural and database design challenges.
The solution
Lumea delivers a complete social networking experience through a React frontend and Node.js backend backed by MySQL. Socket.IO enables instant messaging, JWT secures authentication, and Supabase Storage manages uploaded profile images while users can create content, interact with others, and manage their privacy settings.
Features
Social Feed
Create, like, comment on, save, and delete posts while browsing either the global feed or posts from followed users.
User Profiles
Customize profiles with profile pictures, follower statistics, privacy settings, and personal posts.
Private Accounts
Users can switch between public and private profiles, controlling who can follow and view their content.
Following System
Follow and unfollow users while viewing followers and following lists.
Profile Search
Quickly search for other users and navigate directly to their profiles.
Real-Time Messaging
Chat instantly with other users through Socket.IO-powered real-time messaging.
Notification System
Receive notifications for follows, likes, comments, and other social interactions.
Account Management
Upload profile pictures, change passwords, and reset forgotten passwords securely.
Architecture
Lumea follows a client-server architecture where React provides the user interface and communicates with a Node.js and Express backend through REST APIs. Socket.IO handles real-time messaging while MySQL stores users, posts, comments, messages, followers, and notifications. JWT secures protected routes, and Supabase Storage stores user profile images.
- React
- React Router
- Context API
- Responsive UI
- Node.js
- Express
- REST APIs
- JWT Authentication
- Socket.IO
- Instant Messaging
- Online Presence
- MySQL
- Supabase Storage
- Users
- Posts
- Comments
- Messages
- Notifications
Screenshots















Challenges
Real-Time Messaging
Keeping conversations synchronized between multiple users while maintaining responsive performance required carefully integrating Socket.IO with the REST API.
Designing Social Relationships
Implementing followers, private profiles, saved posts, likes, comments, and notifications required careful relational database design to keep queries efficient and data consistent.
Lessons learned
- Separating REST APIs from WebSocket events makes real-time applications easier to maintain.
- Planning the database schema early is essential when building interconnected social features.
- Reusable React components significantly improve scalability and maintainability.
- JWT authentication and proper authorization are critical when implementing privacy controls.