A modern full-stack social media platform with real-time messaging, media sharing, and responsive UI.
-
🔐 Authentication System
- Email/Password login
- Google OAuth
- JWT authentication
-
📝 Social Posting
- Text posts
- Image uploads
- Video uploads
-
💬 Real-Time Messaging
- Socket.IO powered chat
- Read receipts
- Message editing/deleting
- Live updates
-
👤 User Profiles
- Profile pictures
- Bio system
- User onboarding
-
📱 Fully Responsive
- Desktop UI
- Mobile optimized
- Smooth layouts
- React 19
- Vite
- Axios
- Socket.IO Client
- Google OAuth
- Node.js
- Express
- MySQL
- Sequelize ORM
- Socket.IO
- JWT Authentication
- Multer
- Node.js v16+
- MySQL
cd backendnpm installCreate a .env file:
PORT=3002
DB_HOST=localhost
DB_USER=your_mysql_user
DB_PASSWORD=your_mysql_password
DB_NAME=cherry_berry
JWT_SECRET=your_jwt_secret_key
FRONTEND_URL=http://localhost:5173
GOOGLE_CLIENT_ID=your_google_client_idnode add-read-status.js
node update-message-schema.jsnode server.jscd frontendnpm installVITE_API_URL=http://localhost:3002
VITE_GOOGLE_CLIENT_ID=your_google_client_idnpm run devRun:
npm run devThen access:
http://YOUR_IP:5173from devices on the same network.
| Table | Description |
|---|---|
| USER | User accounts & profiles |
| POST | Posts and media |
| CHAT | Chat conversations |
| MESSAGE | Messages with read status |
cherry-berry/
├── backend/
│ ├── src/
│ │ ├── config/
│ │ ├── models/
│ │ ├── routes/
│ │ ├── middleware/
│ │ └── utils/
│ ├── uploads/
│ └── server.js
│
└── frontend/
├── src/
│ ├── components/
│ ├── context/
│ ├── services/
│ └── utils/
└── public/- Notifications system
- Stories feature
- Video calling
- Dark mode
- Post likes/comments
- PWA support
This project is licensed under the MIT License.MIT
Made by:



