GithubHelp home page GithubHelp logo

forki / acwes Goto Github PK

View Code? Open in Web Editor NEW

This project forked from santiagorubiodev/acwes

0.0 3.0 0.0 13.59 MB

ACWES (Automated CourseWork Evaluation Service) is a web application that helps academics mark their students programming coursework semi-automatically. This project is my Masters degree final year project at Imperial College London

License: The Unlicense

F# 89.72% Batchfile 0.26% Shell 0.38% CSS 1.70% HTML 0.44% JavaScript 7.50%

acwes's Introduction

ACWES

ACWES (Automated CourseWork Evaluation Service) is a web application that helps academics mark their students programming coursework semi-automatically. This project is my Masters degree final year project at Imperial College London

Intro

The main point of this project is to make a functional website using F# as the primary programming language. The reason I use F# is its very simple and beautiful syntax. The project uses Fable (a F# to JavaScript compiler) and Suave (a simple web development F# library) as the two main technologies for development. This project was built on top of one of many Fable sample projects, the fable-suave-scaffold project (https://github.com/fable-compiler/fable-suave-scaffold). The Fable and Suave developers and gitter chat memebers helped me at the begining of the project when I was still getting used to their technologies, so thank you to all of them.

Running the app on your system

You can try the project on your system simply by downloading the repo and running the command

> build.cmd run // on windows
$ ./build.sh run // on unix

This command will automatically download all packages and dependencies required to run the application. It will also open the web page on your browser.

This command calls build.fsx with target "Run". It will start in parallel:

  • dotnet watch run in src/Server (note: Suave is launched on port 8085)
  • dotnet fable npm-run start in src/Client (note: the Webpack development server will server files on http://localhost:8080)

You can now edit files in src/Server or src/Client. On save the application will automatically recompile and the browser refresh will be triggered automatically.

For development convinency src/Client/ACWESDev.fsproj links files from both src/Client/Client.fsproj and src/Server/Server.fsproj.

#How to use In this dev build you can sign in as a student using Student/Student or as a teacher using Teacher/Teacher.

  • Students Students can search for their coursework deadlines and upload their coursework. On upload their script is compiled and tested by a testbench provided by the teacher. Once the test is finished the student gets automatic feedback and a provisional grade.

  • Teachers Teachers can create modules, coursework, ect... They can also assign and remove students from a module. When a student uploads a coursework the teacher can manually change the feedback, grade and even modify the student source code and re-run the tests if needed.

acwes's People

Contributors

santiagorubiodev avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.