Skip to content

UK DanceBlue's mobile app and related services

License

Notifications You must be signed in to change notification settings

UKDanceBlue/monorepo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

DanceBlue App Monorepo

Release: Docker release build Main: Docker main build Lint

DanceBlue's mobile app is a great way to interact with DanceBlue year round from the comfort of your phone
Explore DanceBlue

Donate · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Contributing
  4. License
  5. Contact
  6. Acknowledgments

About The Project

DanceBlue is a University of Kentucky student-run organization that fundraises year-round and culminates in a 24-hour no sitting, no sleeping dance marathon. The money raised through DanceBlue is donated to the Golden Matrix Fund, established to support the kids of the DanceBlue Kentucky Children’s Hospital Hematology/Oncology Clinic both today and well into the future through an endowment. DanceBlue funds also support the year-long fundraising engine and operations that underpin the mission, as well as providing funds to support research at the UK Markey Cancer Center. The Golden Matrix Fund was created to benefit the DanceBlue KCH Hematology/Oncology Clinic patients and families. Childhood cancer not only affects the child physically, but it also creates many emotional and financial difficulties for the entire family. The goal of the Golden Matrix Fund is to provide care and support for the kids through giving them and their parent’s comfort.

(back to top)

Built With

(back to top)

Getting Started

To get a local copy up and running follow these simple steps.

Getting up and running

  1. Install either VSCode or a JetBrains IDE
  2. Set up your IDE's dev container support, for VSCode this consists of an extension
  3. Set up docker according to VSCode's guide
  4. Reopen this repository in the dev container (note: on windows you should try and clone the repository into a folder in WSL or a docker volume for performance reasons)
  5. Copy all .env.example files and remove the .example extension, then fill in the values

Alternatively you can set up your own Postgres database and then install the repository like a normal Typescript monorepo, but I personally recommend using a dev container

Building

There are four packages in this repository: mobile, portal, server, and common. There are a number of npm scripts configured for each, some of which are available in the top level package.json as well, prefixed by the package name. Broadly the build commands are package:build and package:watch for a single build or automatic builds respectively. There are also a few repository level scripts, for example testing and linting.

Linting and Formatting

There are also a number of linting and type-checking scripts, the package specific ones are package:check, however you will generally want to just run the global command repo:check. This will check that the entire repository passes ESLint, Prettier, and Typescript checks. To format the repository run repo:format:fix and to fix linter issues run repo:lint:fix.

Running the Applications

All scripts relevant to running the project have a corresponding entry in the VSCode launch.json file. This means that in VSCode you can use the 'Run and Debug' panel to start any target. Generally you can use on the 'Dev Environment: ...' run configurations, these configs will activate any watchers needed to build the codebase and then start each relevant project. Alternatively you can run each component individually from the cli (package:dev or package:start depending on the tooling) or from the same 'Run and Debug' menu.

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

If you are interested in joining DanceBlue, send me a message (see my contact info)!

Some notes for contributors

  • Naming convention for files is roughly:
    • PascalCase for files that represent a single entity (i.e. a type or component) unless it is a plain function
    • camelCase for files that represent a collection of entities (i.e. an index file, a collection of values, multiple unrelated exports) or a plain function
    • Folders that are intended to be imported directly should match the case of their subject (i.e. PascalCase for a folder with a component)
    • kebab-case for other folders
  • ESlint has rules for most other cases, it is highly recommended to install the eslint plugin for your editor or keep eslint --watch running in the background

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

App & Web Development Coordinator - app@danceblue.com

App & Web Design Coordinator - design@danceblue.com

Project Link: https://github.com/UKDanceBlue/monorepo

(back to top)

Acknowledgments

(back to top)