A modern social media web application built with React and Vite.
- User authentication (Sign up, Sign in)
- Responsive UI for desktop and mobile
- User profile with avatar and background customization
- Friend system (send/cancel/accept/deny friend requests, unfriend)
- Post creation with image/video upload
- Like, comment, and save posts
- Real-time chat with friends
- Notification system (friend requests, likes, comments)
- Search users and posts
- Saved posts management
- Recent search history
- Frontend: React 19, Vite, SCSS Modules, Bootstrap 5, Bootstrap Icons, classnames
- State Management: React Context API
- Networking: Axios
- Real-time: Socket.io (via backend)
- Notifications: react-hot-toast
- Other: Tippy.js (tooltips), normalize.css
- Node.js (v18 or higher recommended)
- npm
-
Clone the repository:
git clone <your-repo-url> cd mySocialMedia
-
Install dependencies:
npm install
-
Environment variables:
- Copy
.env.example
to.env
and update as needed (if provided).
- Copy
-
Start the development server:
npm run dev
The app will be available at http://localhost:5173 by default.
npm run build
npm run preview
npm run lint
To build and run with Docker:
docker build -t mysocialmedia .
docker run -p 80:80 mysocialmedia
src/
- Main source codecomponents/
- Reusable UI componentspages/
- Page-level componentslayout/
- Layout componentscontexts/
- React context providersservices/
- API service modulesutils/
- Utility functionsassets/
- Images and static assets
This project is for educational/demo purposes.
Feel free to contribute or open issues!