Skip to content
This repository has been archived by the owner on Apr 22, 2022. It is now read-only.
/ COMP4004-Project Public archive

📚 Simple course management system for COMP 4004.

Notifications You must be signed in to change notification settings

lfroms/COMP4004-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Course Management System

Final project for COMP 4004, designed and built by Gaby Pancu, Mitchell Soares, and Lukas Romsicki.

Table of Contents

Getting Started

macOS (Recommended)

On macOS, you will need to install Docker for Mac. Simply download the application and install it to your Applications folder. Once installed, launch Docker and accept any permissions.

We have aliased some common commands so that they are easier to run. Please note that these commands will only work on UNIX systems.

Run the following commands from the terminal to set up the app:

  1. ./setup to build the containers and seed the database.
  2. ./start to launch all containers and start the app.
  3. Open http://localhost:3000 in your browser of choice.

Note: The first time the app is launched, Webpack will need to compile the JavaScript bundles, which may take some time depending on your system. During this process, your browser request may time out or you may get a white screen. If this happens, wait a few seconds and refresh.

Windows

On Windows, you will need to install Docker for Windows. Simply download the application and install it using the provided installer. Once installed, launch Docker and accept any permissions.

Run the following commands from the command line to set up the app:

  1. docker-compose build to build the containers.
  2. docker-compose run --rm web rails db:setup to set up and seed the database.
  3. docker-compose up to launch all containers and start the app.

Note: The first time the app is launched, Webpack will need to compile the JavaScript bundles, which may take some time depending on your system. During this process, your browser request may time out or you may get a white screen. If this happens, wait a few seconds and refresh.

Logging In

The application is seeded with a default admin user, accessible using the following credentials:

Once logged in, you may log out using the "Log out" button at the bottom-left to log in as another user. All users have a default password of 123456.

Running Tests

There are a few ways to run the unit, integration, and system/acceptance tests for this application.

macOS

  • Unit tests: ./tests
  • System tests: ./system-tests

Windows

  • Unit tests: docker-compose run --rm web bash -c "rails db:create && rails db:schema:load && rails test"
  • System tests: docker-compose -f docker-compose.test.yml up --abort-on-container-exit

Note: On Windows, you will not be able to watch the system/acceptance tests as they run automatically. To do this, start a VNC session into vnc://user:secret@localhost:5900.

Commits

All commits are squashed before merging into master. To see the full commit message with the [CODE]/[TEST]/[ACCEPTANCE-TEST]/[REF] labels, you must click on the commit.

Data Model Diagram

Screenshots

About

📚 Simple course management system for COMP 4004.

Resources

Stars

Watchers

Forks