A modern event management platform for seamless attendee engagement and interactive experiences.
Features β’ Installation β’ Tech Stack β’ Architecture β’ Contributing
-
Real-time Event Interactions
- Live streaming capabilities for premium users
- Interactive note-taking with multimedia support
- QR code-based identity verification
-
Cross-Platform Accessibility
- Seamless media uploads
- Content sharing across platforms
- Responsive design for all devices
-
Enhanced Attendee Experience
- Interactive session tracking
- Multimedia-enhanced note-taking
- Real-time notifications
- Node.js (v18 or higher)
- MongoDB (v8.10.1 or higher)
- npm or yarn
# Clone the repository
git clone https://github.com/your-username/comfybase.git
# Navigate to frontend directory
cd comfybase/frontend
# Install dependencies
npm install
# Start development server
npm run dev# Navigate to backend directory
cd ../backend
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Start server
npm run dev- React 19.0.0
- TailwindCSS 4.0.8
- Material UI 6.4.5
- React Router 7.2.0
- TypeScript 5.7.2
- Framer Motion 12.4.7
- wss
- Node.js with Express
- MongoDB 8.10.1
- Firebase Admin 13.1.0
- Stripe Integration
- WebRTC for real-time communication
- Vite 6.1.0
- ESLint 9.19.0
- TypeScript ESLint
- Jest for testing
graph TD
A[Client Layer - React] --> B[API Layer - Node.js/Express]
B --> C[Database Layer - MongoDB]
B --> D[Storage Layer - Firebase]
B --> E[Payment Processing - Stripe]
B --> F[Real-time Communication - WebRTC]
Create a .env file in the backend directory:
MONGODB_URI=your_mongodb_uri
FIREBASE_CONFIG=your_firebase_config
STRIPE_SECRET_KEY=your_stripe_secret
JWT_SECRET=your_jwt_secretPOST /api/auth/login
POST /api/auth/register
GET /api/auth/verify
GET /api/events
POST /api/events
PUT /api/events/:id
DELETE /api/events/:id
POST /api/notes
GET /api/streams
POST /api/media/upload
# Run frontend tests
cd frontend && npm test
# Run backend tests
cd backend && npm test
# Run e2e tests
npm run test:e2e- 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
This project is licensed under the MIT License - see the LICENSE file for details.
- Barack Oduor Ouma - Project Lead & Software Engineer
- Dr. Kennedy Siika - Project Supervisor
- Kenyatta University - Department of Computing and Information Sciences