colorstackorg / oyster

Monorepo that houses ColorStack's core product software.
MIT License
281 stars 139 forks source link

Oyster: The open-source software that powers the ColorStack community experience. ✊🏿✊🏾✊🏽✊🏼

How to Contribute | Website | Family Application

Member Profile

Applications

Understanding the Codebase

Important Tools & Technologies

Here is a list of important tools and technologies that power the ColorStack codebase:

Folder Structure

Here is the structure of our Typescript monorepo:

apps
|--- admin-dashboard
|--- api
|--- member-profile
packages
|--- core
|--- db
|--- email-templates
|--- types
|--- ui
|--- utils

The apps directory houses all of our applications (see "Applications" section).

The packages directory contains reusable pieces of code that are used across our applications.

CI Pipeline (GitHub Actions)

To ensure that we don't have any breaking changes, we have a GitHub Actions workflow that runs, which can block a PR from being merged if certain checks don't pass.

For more information on how that CI pipeline works, see this file.

Deployment

We use Railway to host our applications as well as our PostgreSQL and Redis databases. Whenever we make some changes to our main branch, Railway will automatically pick up those changes and deploy a new version of our applications.

Each application has a railway.json file where we can configure certain settings and instructions so Railway knows how and when to build/start our application. See this file as an example. For a full list on what we can configure, see here.

Contributing

Please see our contributing guide! 👋

A heartfelt thanks to our ColorStack members for their contributions! 🙏

Made with contrib.rocks.