Mirror of a group project in which we developed an internal system for the Univeristy of Sheffield. Projman helps module administrators orchestrate, manage, and assess student group assignments. Credits can be found in the README.md
A group project orchestrator and management system, developed for the University of Sheffield as part of Software Hut [COM3420].
This system requires:
ruby-3.1.2
installed via rvm
Account sign-ins will only work if both the server and client are connected to the University of Sheffield's VPN. Though this can be circumvented by creating a fake account with the rails console, as described in the section below.
Have PostgreSQL running:
sudo service postgresql start
Set up the app, this will install all dependancies, and create and seed the database:
./INSTALL.sh
Our system uses the UoS SSO, your Muse login, but you must already exist in the database to sign in. You can now add yourself as either a member of staff or a student with the rails console.
You may add yourself as both a student and a member of staff, but you will simply be treated as a member of staff.
# from within the repositiory root
rails c
From within the rails console:
# even if you're a student, adding your email to the staff table will allow you to log in as a staff member with your muse credentials
DatabaseHelper.create_staff("[email protected]")
# keep in mind your username and email must be unique to be added to the database
DatabaseHelper.create_student({
username: "YourMuseUsername",
forename: "YourName",
surname: "YourSurname",
title: "Ms",
email: "[email protected]"
})
After adding yourself to the database, you're ready to test the app.
Run the app:
RAILS_ENV=development ./BOOT.sh
Visit http://127.0.0.1:3000
We use Capistrano for our deployments, and interact with the production server via EpiGenesys' epi_deploy
gem. To deploy the app:
git restore .
to undo all of them, or commit them../DEPLOY.sh
A bug appeared in our tests close to the project deadline, to correctly test our application you need to run one rspec file at a time. This is because when ran together with rspec
, they intefere with each other, so they need to be ran in isolation.
rspec ./spec/path_to_test
Sam Taseff [email protected] contributed several bulk styling commits, which makes the git blame
output inconsistent with everyone's actual contributions. The hashes of these bulk styling commits can be found in the .git-blame-ignore-revs
file in our repository root. This file can be passed to git blame to correct its output.
All rights are reserved by the maintainers listed above, this package has no warranty.