Skip to content

Scheduling assistant for Schools, Universities, and other Educational Institutions

License

Notifications You must be signed in to change notification settings

athena-scheduler/athena

Repository files navigation

Athena Scheduling Assistant

Windows Linux Style Coverage
Build status Build Status Codacy Badge codecov

A tool for assisting students with scheduling for courses.

Usage

The easiest way to run the scheduler is via docker. This repository contains an example docker-compose file which is based off of sample data. If you want to enable authentication from external login providers (which you will need to do in order to do anything useful), copy auth-keys.env.sample to auth-keys.env and supply your google or microsoft OAuth2 keys:

cp auth-keys.env.sample auth-keys.env
# Edit auth-keys.env to use your keys

docker-compose pull
docker-compose up

The web interface is now accessible at http://localhost:5000/. The API is on /api and the default admin api key for this sample data is athena-sample. Feel free to import more data.

If you want to start from scratch, stand up a postgres 9.6 database and change the connection string in docker-compose.yml appropriately.

Building

Invoke the build build script:

./build.sh --UseDocker=true

Or on windows:

./build.ps1 --UseDocker=true

This will start a docker container to run database tests. If you already have a postgres instance, set the ATHENA_DATA_TESTS_CON environment variable to the connection string before building.

IDE's

If you are building / debugging in an IDE, you will need a postgres database. We recommend using docker:

docker run -it --rm -p 5432:5432 postgres:alpine

If you have another database you wish to connect to, set the ATHENA_CONNECTION_STRING environment variable.

You will need to install client-side packages and run the bundler manually. Client packages can be installed via npm:

cd src/Athena
npm install

To run the bundler in the background, run the bundle::watch script, which will repackage stylesheets and scripts when you save them in your IDE:

cd src/Athena
npm run bundle::watch

Authentication

Athena uses third party OAuth2 providers for authentication Currently, the following providers are setup:

License

Athena is licensed under the MIT license. See LICENSE.md for details.

About

Scheduling assistant for Schools, Universities, and other Educational Institutions

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published