Code Monkey home page Code Monkey logo

explorer's Introduction

Cosyll

Cosyll is a platform on which educators can publish and browse syllabi.

Resources

Running

The API is a Go application (go 1.18), with a Postgresql backend (14.5). You can run it in a Docker container, requiring Docker 20.10^.

To run it, use the Makefile:

make build
make docker-run

The front-end is a Next.JS application. To install requirements and serve it:

cd www/
npm run install
npm run dev

Testing

For the API:

make docker-test

For the front-end, we use Cypress:

In separate terminal sessions, run:

make docker-run
cd www/
yarn dev
cd www/
yarn cypress:headless

Environment

The .env file contains the information required for deployment.

variable value
PORT The port on which the backend runs.
DB_USER The username to connect to the database with
DB_PASSWORD The password for the database user
DB_HOST The location of the database
DB_PORT The port of the database
DB_NAME The name of the database to connect to.
API_MODE The mode in which to run the API (test, debug, production)
RUN_FIXTURES Whether or not to run the fixtures located in api/models/fixtures (true, false)
FIXTURES_PATH Which fixtures file to load from api/models/fixtures (full.yml, test.yml)

There are also two secrets that can be provided, in a .secrets file.

variable value
MAILGUN_API The key to connect to Mailgun, in order to send automated emails.
ADMIN_KEY A valid user UUID which bypasses authentication checks, by providing it as a URL token query parameter (e.g. https://api.common-syllabi.org/syllabi/?token=ADMIN_KEY)
OPENSYLLABUS_PARSER_API_TOKEN To enable OS parsing on the New Syllabus page
SPACES_ACCESS_KEY To enable blob storage
SPACES_SECRET_KEY To enable blob storage

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.