This project is a custom fit full-stack web app for dog training clubs. The eventual goal is to market the clubs, manage membership, sell classes/session, rent rings, and handle communications. This project was bootstrapped with GraphQL API Starter Kit. You can join their Discord channel for assistance trying to setup something similar. You can message me on Discord @Bird#1239 for help with this specific repository.
api
, img
→ Cloud Functions, web
→ Cloudflare WorkersClone the repo and run yarn install
:
$ git clone https://github.com/njhargis/dog-club-full-stack.git
$ cd dog-club-full-stack # Change current directory to the newly created one
$ yarn install # Install project dependencies
Then, add a .local.override.env file to the env folder. Override any variables that are currently hidden (e.g. 'enc:..') If your local Postgres credentials are different than what is within .local.env, you'll need to override those as well. Finally, setup your database before starting your API and web.
$ yarn db:reset # Create or update PostgreSQL database
$ yarn api:start # Launch GraphQL API and authentication server
$ yarn web:start # Launch React/Relay front-end app
The API server must become available at http://localhost:8080/api.
The web application front-end must become available at http://localhost:3000/.
├──
.github
— GitHub configuration including CI/CD workflows
├──
.vscode
— VSCode settings including code snippets, recommended extensions etc.
├──
env
— environment variables that are used for local development (local
, test
, prod
)
├──
db
— database schema, seeds, and migrations (Cloud SQL, Knex.js)
├──
api
— GraphQL API and authentication (Could SQL, Cloud Functions, GraphQL.js)
├──
img
— dynamic image resizing (Cloud Functions, Cloud Storage)
├──
infra
— cloud infrastructure configuration (Terraform)
├──
web
— React / Relay web application with CDN rendering (Webpack, Cloudflare Workers)
├──
scripts
— Automation scripts shared across the project
└── ...
— add more packages such as worker
, admin
, mobile
, etc.
Anyone and everyone is welcome to contribute. Start by checking out the list of open issues marked help wanted. However, if you decide to get involved, please take a moment to review the guidelines.
Copyright © 2022-present Neil Hargis Solutions. This source code is licensed under the MIT license found in the LICENSE file.
Made with ♥ by Neil Hargis Solutions in conjunction with Nashville Dog Training Club & Murfreesboro Dog Training Club. Generously aided by contributors.