Skip to content

Class submission syste, protected with type based, static IFC

Notifications You must be signed in to change notification settings

JustusAdam/beavered-websubmit

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

websubmit-rs: a simple class submission system

This is a fork for websubmit-rs, a web application for collecting student homework submissions, written using Rocket for a MySQL (instead of Noria) backend.

To run it, you need to run a MySQL server deployment. Then you can run the web application, which will automatically connect to MySQL database myclass:

websubmit-rs$ cargo run --release -- -i myclass

The web interface will be served on localhost:8000. Note that the templates included in this repository are very basic; in practice, you will want to customize the files in templates.

By default, the application will read configuration file sample-config.toml, but a real deployment will specify a custom config (-c myconfig.toml). Configuration files are TOML files with the following format:

# short class ID (human readable)
class = "CSCI 2390"
# list of staff email addresses (these users' API keys get admin access)
staff = ["malte@cs.brown.edu"]
# custom template directory
template_dir = "/path/to/templates"
# custom resource directory (e.g., for images, CSS, JS)
resource_dir = "/path/to/resources"
# a secret that will be hashed into user's API keys to make them unforgeable
secret = "SECRET"
# whether to send emails (set to false for development)
send_emails = false

If you omit --release, the web app will produce additional debugging output.

About

Class submission syste, protected with type based, static IFC

Resources

Stars

Watchers

Forks

Languages

  • Rust 88.0%
  • Handlebars 12.0%