njhargis / dog-club-full-stack

MIT License
0 stars 0 forks source link

Dog Club Web App Monorepo

About

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.

Code Features

Requirements

Getting Started

Clone 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/.

Directory Structure

├──.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)
├──webReact / 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.

References

How to Contribute

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.

License

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.