Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/brandonchinn178/worshipmate
https://github.com/brandonchinn178/worshipmate
Last synced: 25 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/brandonchinn178/worshipmate
- Owner: brandonchinn178
- Created: 2019-02-07T06:25:03.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2022-10-30T23:19:23.000Z (about 2 years ago)
- Last Synced: 2023-08-09T13:15:38.577Z (about 1 year ago)
- Language: TypeScript
- Homepage: https://v2.worshipmate.app
- Size: 5.74 MB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# WorshipMate
A website for worship leaders to browse songs for worshipping individually or corporately. Allows for easy key transposition and selection of full worship sets.
## Quickstart
Pre-requirements: Install yarn and Docker
1. Install yarn dependencies
```bash
yarn --immutable
```1. Run a Postgres server in Docker
```bash
docker-compose up -d
```1. Start the GraphQL server and front end concurrently
```bash
yarn start:dev
```1. Go to `http://localhost:3000`
## Package overview
This repository is organized using the following Yarn workspaces:
- `client`: The NextJS project that runs the web frontend
- `server`: The apollo-server project that runs the GraphQL backend## Authentication
This project uses [Okta](https://developer.okta.com/) to store user information and handle authentication.
### Set up Okta
1. Create a new Okta application
* Application type: SPA
* Set the Login redirect URI to your domain, e.g. `http://localhost:3000/`
1. Go to Security > API > Trusted Origins and add your domain
1. Copy the client ID and Okta domain
1. Set the following environment variables in `client/.env.local`:
* `NEXT_PUBLIC_OKTA_CLIENT_ID`
* `NEXT_PUBLIC_OKTA_DOMAIN`
1. Set the following environment variables in `server/.env`:
* `OKTA_CLIENT_ID`
* `OKTA_DOMAIN`### Mock out authentication
To mock out authentication, set `NEXT_PUBLIC_UNSAFE_IGNORE_AUTH=1` in `client/.env.local` and `UNSAFE_IGNORE_AUTH=1` in `server/.env`. With these environment variables set, you may use these credentials to login:
* Username: `testuser`
* Password: `password`