Classroom Management Software
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.
- Installation
- Development
- Guidelines for Commits
- Naming Conventions
- Contributions
- Technology Used
- VScode Addons
git clone https://github.com/BioMediaLab/synapse.git
cd synapse
yarn
yarn
is shorthand foryarn install
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.
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
- Edit the
.env
file in/api
.
Variable | Value |
---|---|
PRISMA_ENDPOINT |
http://localhost:4466 |
PRISMA_MANAGEMENT_API_SECRET |
my-secret |
-
If you would like to make the data persistent, edit the
docker-compose.yml
file so that the volumemysql
points to a real directory on your computer. -
Run the database with
docker-compose up -d
. -
Run
prisma deploy
from the/api
directory. -
If you want to use the graphql playground with prisma, create an HTTP header in it:
{
"Authorization": "Bearer <token from `prisma token>"
}
- Be sure to sign out of Synapse before changing over or refreshing the database.
yarn run dev
This will also run
predev
which runsyarn
to install new packages andprisma generate
in the api workspace to handle any database schema changes.
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
React.js
Next.js
Apollo Client
GraphQL Yoga
Prisma