Skip to content

UBCO-COSC499-Summer-2024/team-7-capstone-team-7-falcon

Repository files navigation

OwlMark: bubble-sheet marking made easy

Project Description

OwlMark is a responsive web application that supports the marking and management of optically-marked exams.

Our application was developed to be an efficient alternative to the sole Scantron machine at UBC Okanagan (UBCO). It was commissioned by Dr. Ramon Lawrence, the Academic Director of UBCO's Centre for Teaching & Learning to address the deficiencies of the university's current approach to bubble-sheet exam marking. The main target users are instructors, but students will also be able to view and review their marked exams. In particular, OwlMark allows instructors to batch upload bubble-sheet exams, efficiently mark them using an optical mark recognition (OMR) system, and to view the associated exam statistics. To account for marking errors, our system also offers a reporting system to users.

Code Structure

.
├── backend                         # Backend infrastructure
|   ├── migrations                  # Database migration files
|   ├── src                         # Relavant source code for the backend
|   ├── test                        # Integration tests for backend endpoints
|   ├── uploads                     # Files uploaded to backend that can be used by frontend application
│   └── ...
├── docs                            # Documentation files
│   ├── TOC.md                      # Table of contents
│   ├── communication               # Meeting notes and client communication
│   ├── design                      # Documentation related to the project design
│   ├── final                       # Final documentation
│   ├── plan                        # Project plan
│   └── weekly logs                 # Individual and team logs
├── frontend                        # Frontend infrastructure
|   ├── public                      # Static assets
|   ├── src                         # Source code for the frontend
│   └── ...
├── tasks                           # Utilities for the OMR system
|   ├── bubble-sheet-generator      # Utility for generating custom bubble sheets
|   ├── OMR-tool                    # Utility for grading bubble-sheet exams using computer vision
├── uploads                         # Files uploaded to the system
├── ...
├── LICENSE                         # The license for this project
└── README.md                       # This file!

Dependencies

In order to run the application, the following dependencies need to be installed:

  1. Docker
  2. psql
  3. nvm
  4. Poetry

Installation and Setup

Please refer to the READMEs found in the subfolders for instructions to run individual components of the application.

The following steps describe how the application can be run locally outside of a container:

  1. Setup the backend by following the installation steps.

  2. Setup the frontend by following the installation steps.

  3. Setup the OMR utlities for the bubble sheet generator and the OMR tool.

  4. Finally, in the root folder of this project (where this README is located), run:

cp .env.example .env

and then,

docker compose up redis postgres -d

to start the PostgreSQL and Redis Docker containers.

Built with

Authors

OwlMark is delivered to you by