Skip to content

BioMediaLab/synapse

Repository files navigation

![Synapse]

Synapse

Classroom Management Software

Build Status GitHub license

Synapse is a Web application developed by the BioMediaLab, part of the School of Biology at the University of Maine. It is used by multiple courses each semester to provide online resources, such as course handouts, quizzes, grades, and discussion.

This new version of Synapse has been under full-time development since September, 2018.

Table of contents

Installation

git clone https://github.com/BioMediaLab/synapse.git
cd synapse
yarn

yarn is shorthand for yarn install

Configuration

A .env file will need to be created in both the api and web workspaces.

cp api/.env.example .env

and

cp web/.env.example .env

Contact a Synapse Admin for any secret .env variables

.env files NEVER get committed to git.

Development

Run a local database instance

You will probably want to run a local Prisma server as a backend for the api. You can do this with the Docker and the docker-compose.yml file at the root of this repository.

Steps

  1. Edit the .env file in /api.
Variable Value
PRISMA_ENDPOINT http://localhost:4466
PRISMA_MANAGEMENT_API_SECRET my-secret
  1. If you would like to make the data persistent, edit the docker-compose.yml file so that the volume mysql points to a real directory on your computer.

  2. Run the database with docker-compose up -d.

  3. Run prisma deploy from the /api directory.

  4. If you want to use the graphql playground with prisma, create an HTTP header in it:

{
  "Authorization": "Bearer <token from `prisma token>"
}
  1. Be sure to sign out of Synapse before changing over or refreshing the database.

Run the app

yarn run dev

This will also run predev which runs yarn to install new packages and prisma generate in the api workspace to handle any database schema changes.

Guidelines for Commits

Naming Conventions

Contributions

Ron Kozlowski - Product Manager & Director
Andy Kay - Head Software Engineer
Nick Dieffenbacher-Krall - Student Software Engineer
Matthew Loewen - Student Software Engineer
Enoch Lin - Student Software Engineer

Technology Used

Frontend

React.js

Next.js

Apollo Client

Backend

GraphQL Yoga

Prisma

VScode Addons

Required

Reccomended

About

This is the main mono repo for Synapse ⚡

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published