A feature-rich social platform built with MERN stack
- Overview
- Features
- Live Demo
- Technology Stack
- System Architecture
- Getting Started
- Mobile App
- Real-time Features
- Contributing
Modjodjodjo Forum is a comprehensive social platform that brings communities together through rich features, real-time interactions, and seamless mobile integration.
-
Authentication System
- Multiple OAuth providers (GitHub, Facebook, Google)
- JWT-based session management
- Role-based access control
- Social login integration
-
Community Features
- Category and clan system
- Admin/moderator roles
- User profiles and reputation system
- Content moderation tools
-
Media Support
- Multi-format uploads (MP4, GIF, photos)
- Cloud storage with compression
- Reaction system
- Social sharing capabilities
-
Real-time Components
- Live chat system
- Push notifications
- Activity feed
- Online user tracking
-
Frontend
- React.js
- React Native for mobile
- Redux for state management
- Socket.io client
-
Backend
- Node.js
- Express.js
- MongoDB
- Socket.io
-
Cloud Services
- Cloud storage
- CDN for media delivery
- Push notification service
├── client/
│ ├── web/
│ │ ├── src/
│ │ │ ├── components/
│ │ │ ├── pages/
│ │ │ ├── redux/
│ │ │ └── utils/
│ │ └── public/
│ └── mobile/
│ └── src/
├── server/
│ ├── src/
│ │ ├── controllers/
│ │ ├── models/
│ │ ├── routes/
│ │ └── services/
│ └── package.json
└── socket/
└── src/
- Node.js 14+
- MongoDB 4.4+
- React Native environment for mobile development
- Redis (for socket.io)
# Clone the repository
git clone https://github.com/bifenzine/Modjodjodjo-Forum-Advanced-Social-Platform.git
# Install server dependencies
cd server
npm install
# Install web client dependencies
cd ../client/web
npm install
# Install mobile client dependencies
cd ../mobile
npm install
# Start development servers
# Backend
npm start
# Web Frontend
npm start
# Mobile
npx react-native run-android
# or
npx react-native run-ios
The mobile app is built with React Native and provides:
- Native performance
- Push notifications
- Offline support
- Camera integration
- Location services
Real-time functionality is implemented using Socket.io:
- Live chat system
- Push notifications
- Online status tracking
- Live content updates
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request