Skip to content

The-code-is-secret/APEX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Review Lab - Code Review Reimagined

License Node MongoDB Docker

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).

🚀 Features

  • 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

📋 Prerequisites

  • 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

🛠️ Quick Start

1. Clone the repository

git clone https://github.com/The-code-is-secret/APEX.git
cd APEX

2. Install dependencies

# Install all dependencies (server + client)
npm run install:all

# Or install separately:
# Server dependencies
npm install --prefix server

# Client dependencies
npm install --prefix client

3. Configure environment variables

cp .env.example .env

Edit .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

4. Set up the database and create admin user

npm run setup

5. Run the application

# Run both client and server (recommended)
npm run dev:full

# Or run separately:
# Terminal 1 - Server
npm start

# Terminal 2 - Client
npm run client

The application will be available at:

📖 Documentation

Setup Guides

Additional Resources

For detailed setup instructions, configuration options, and troubleshooting, please see the docs/ directory.

🏗️ Project Structure

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

🔑 Default Admin Credentials

After running the setup script:

⚠️ Please change the default password after first login!

🐳 Docker Support

Run the entire stack using Docker Compose:

docker-compose up

🛡️ Security

  • JWT-based authentication
  • Password hashing with bcryptjs
  • Helmet.js for HTTP headers security
  • Rate limiting to prevent abuse
  • Input validation and sanitization

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📝 License

This project is licensed under the ISC License - see the LICENSE file for details.

📞 Support

For detailed documentation and troubleshooting, see docs/SETUP_GUIDE.md

👥 Authors

  • The-code-is-secret

🙏 Acknowledgments

  • 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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published