Skip to content

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-submitter

Step 2: Install Dependencies ​

bash
npm install

This 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 .env

Edit .env with your configuration. See Environment Configuration for all variables.

Step 4: Start the Server ​

Development Mode ​

bash
npm start

Production 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 startup

PM2 Commands ​

CommandDescription
pm2 start app.jsStart the server
pm2 restart allRestart all processes
pm2 stop allStop all processes
pm2 logsView logs
pm2 monitMonitor dashboard

Step 5: Verify Installation ​

Open your browser and navigate to:

http://localhost:3000/mockD2L.html

You 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 files

Next Steps ​

Released under the MIT License.