Skip to content
This repository has been archived by the owner on Jul 2, 2022. It is now read-only.

opensummerofcode/selections

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Open Summer of Code selection tool

This is an experimental API branch, which is transitioning out Firebase in favor of a TypeScript GraphQL API.

Prerequisites

  • Node v14 with npm 7 installed
  • Docker
  • You must be added to either the osoc selection tool Firebase instance, or create your own. If you create your own, replace firebaseConfig in src/firebase.js with your own values. The data transformer and import scripts can help you transform your data into a format the tool expects. Your Firebase instance must have Google authentication enabled, and you must deploy firebase functions for user creation to work: firebase deploy --only functions
  • On first sign-in as the first user, you will manually have to set yourself to admin in the users collection through a script or the Firebase console.

Install dependencies

This project uses npm 7's workspaces. All dependencies are hoisted to the top-level node_modules. The common folder contains code shared between both the client and server, and can be imported from as if it were a published npm package.

Run npm install in the project directory to install dependencies.

Running the project

In the project directory, you can run:

docker-compose up

Will start a Postgres database for the server to connect to. Use docker-compose up -d to run in detached mode.

npm run client:dev

Runs the Next React app in development mode. Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

npm run server:dev

Runs the server in development mode. This depends on a Postgres database to be available, you'll want to run the docker container to set up Postgres.

You can access a graphql playground on http://localhost:4000/graphql.

npm run prisma:generate & npm run prisma:migrate

Every time you add something to server/prisma/schema.prisma, you'll have to regenerate the Prisma client types. You can do so with npm run prisma:generate.

If you change existing types, run migrations with npm run prisma:migrate.

About

Selection assistant for #osoc students!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published