Server Installation
Complete guide for installing the Gradescope Submitter on your server.
Step 1: Clone the Repository
bash
git clone https://github.com/GGC-SD/gradescope-submitter.git
cd gradescope-submitterStep 2: Install Dependencies
bash
npm installThis installs:
- express — Web server framework
- dotenv — Environment variable management
- handlebars — Template engine
- node-html-parser — HTML parsing utilities
Step 3: Create Environment File
bash
touch .envEdit .env with your configuration. See Environment Configuration for all variables.
Step 4: Start the Server
Development Mode
bash
npm startProduction Mode (with PM2)
PM2 is a process manager that keeps your app running:
bash
# Install PM2 globally
npm install -g pm2
# Start the application
pm2 start app.js --name gradescope-submitter
# Save the process list
pm2 save
# Set up startup script (runs on server reboot)
pm2 startupPM2 Commands
| Command | Description |
|---|---|
pm2 start app.js | Start the server |
pm2 restart all | Restart all processes |
pm2 stop all | Stop all processes |
pm2 logs | View logs |
pm2 monit | Monitor dashboard |
Step 5: Verify Installation
Open your browser and navigate to:
http://localhost:3000/mockD2L.htmlYou should see the mock D2L interface with the code editor.
Directory Structure After Installation
gradescope-submitter/
├── app.js # Main Express server
├── gradescope.js # Gradescope API submission logic
├── .env # Environment variables (you created this)
├── package.json # Dependencies and scripts
├── node_modules/ # Installed packages
├── codemirror-demo.html # Code editor UI
├── starters/ # Starter code templates
├── styles/ # CSS files
└── testing/ # Test filesNext Steps
- Environment Configuration — Configure all environment variables
- Gradescope Setup — Set up your Gradescope course
- HTTPS Configuration — Enable HTTPS for production