A powerful platform where students submit projects and reviewers provide real-time feedback through an integrated IDE, live chat, and AI assistance. Built with MERN stack (MongoDB, Express.js, React, Node.js).
- Smart Submissions: Students can easily submit projects with descriptions, zip files, and LaTeX documentation
- Real-Time Chat: Instant communication between students and reviewers with Socket.io powered messaging
- Integrated IDE: Edit code directly in the browser with full-featured IDE and syntax highlighting
- Containerized Terminal: Execute commands safely in Docker containers for secure code testing
- AI Assistant: OpenAI integration for code suggestions, debugging, and best practices
- Dual Access: Separate portals for students and reviewers with tailored workflows
- Modern UI: Apple-inspired design with glassmorphism and smooth animations
- Node.js (v14.x or higher)
- MongoDB Atlas account (FREE) - Sign up here
- OR MongoDB locally (v4.4 or higher)
- Docker (for terminal functionality)
- npm or yarn
git clone https://github.com/The-code-is-secret/APEX.git
cd APEX# Install all dependencies (server + client)
npm run install:all
# Or install separately:
# Server dependencies
npm install --prefix server
# Client dependencies
npm install --prefix clientcp .env.example .envEdit .env with your configuration (MongoDB URI, JWT secret, etc.)
For MongoDB Atlas Setup: See MongoDB Atlas Quick Start (Recommended - takes 15 minutes)
For Local MongoDB: Use mongodb://localhost:27017/project-management
npm run setup# Run both client and server (recommended)
npm run dev:full
# Or run separately:
# Terminal 1 - Server
npm start
# Terminal 2 - Client
npm run clientThe application will be available at:
- Frontend: http://localhost:3000
- Backend: http://localhost:5000
- Quick Start with MongoDB Atlas - 15-minute setup guide (Recommended)
- Detailed MongoDB Atlas Guide - Complete setup with troubleshooting
- Full Setup Guide - Detailed local setup instructions
- Quick Reference - Commands and API reference
For detailed setup instructions, configuration options, and troubleshooting, please see the docs/ directory.
APEX/
├── client/ # React frontend application
│ ├── src/ # Source files
│ └── public/ # Static files
├── server/ # Express backend API
│ ├── config/ # Configuration files
│ ├── controllers/ # Route controllers
│ ├── middlewares/ # Custom middleware
│ ├── models/ # MongoDB models
│ ├── routes/ # API routes
│ ├── scripts/ # Setup and utility scripts
│ └── services/ # Business logic (Docker, Socket.IO)
├── docs/ # Documentation
│ ├── mongodb/ # MongoDB setup guides
│ ├── docker/ # Docker configuration docs
│ └── api/ # API documentation (future)
├── scripts/ # Project setup scripts
├── docker/ # Docker configuration files
├── uploads/ # File uploads (created at runtime)
└── docker-compose.yml # Docker Compose configuration
After running the setup script:
- Username:
admin - Email:
[email protected] - Password:
admin123
Run the entire stack using Docker Compose:
docker-compose up- JWT-based authentication
- Password hashing with bcryptjs
- Helmet.js for HTTP headers security
- Rate limiting to prevent abuse
- Input validation and sanitization
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the ISC License - see the LICENSE file for details.
For detailed documentation and troubleshooting, see docs/SETUP_GUIDE.md
- The-code-is-secret
- Built with the MERN stack
- Terminal functionality powered by xterm.js and Docker
- UI components from Material-UI
Version: 1.0.0
Last Updated: October 17, 2025