A comprehensive classroom management system with AI-powered features.
The easiest way to run TutoriAI is using Docker Compose, which will set up all services (frontend, backend, and database) automatically.
# Start all services in development mode
./docker.sh start dev
# Or manually with docker-compose
docker-compose -f docker-compose.dev.yml up -d
Services will be available at:
# Start all services in production mode
./docker.sh start prod
# Or manually with docker-compose
docker-compose up -d
# View all available commands
./docker.sh help
# Start services
./docker.sh start [dev|prod]
# Stop services
./docker.sh stop [dev|prod]
# Restart services
./docker.sh restart [dev|prod]
# View logs
./docker.sh logs [dev|prod] [service_name]
# Build services
./docker.sh build [dev|prod]
# Check service status
./docker.sh status [dev|prod]
# Clean up all Docker resources
./docker.sh cleanup
If you prefer not to use Docker, you can set up the services manually:
cd backend
npm install
npm run dev
cd frontend
npm install
npm start
tutoriaibackend/docker/postgres/TutoriAI/
├── frontend/ # React TypeScript application
├── backend/ # Node.js Express API
├── docker/ # Docker configurations
│ ├── postgres/ # Database initialization scripts
│ └── Dockerfile # Backend container
├── docker-compose.yml # Production Docker setup
├── docker-compose.dev.yml # Development Docker setup
├── Dockerfile # Frontend container
├── nginx.conf # Nginx configuration
├── docker.sh # Docker management script
└── README.md # This file
The following environment variables can be configured:
Backend:
NODE_ENV: Environment (development/production)PORT: Server port (default: 5001)DATABASE_URL: PostgreSQL connection stringJWT_SECRET: Secret key for JWT tokensCORS_ORIGIN: Allowed CORS originFrontend:
REACT_APP_API_URL: Backend API URLThe PostgreSQL database is automatically initialized with:
./docker.sh build prod
./docker.sh start prod
# View all service logs
./docker.sh logs dev
# View specific service logs
./docker.sh logs dev backend
# Check service status
./docker.sh status dev
# Clean up all Docker resources and start fresh
./docker.sh cleanup
./docker.sh start dev
./docker.sh start devThis project is licensed under the MIT License.
For more detailed information about specific features, see the docs/ directory.