Skip to content

didx-xyz/yoma

Repository files navigation

🌟 Yoma

Yoma is a comprehensive platform with multiple components working together to deliver a seamless experience for youth, organisations and administrators.

📚 Project Components

👥 User Roles

Yoma Web supports multiple user roles with tailored experiences:

  • Standard Users: Access opportunities, manage profiles, and track achievements
  • Organization Admins: Manage organization details, create and monitor opportunities, and review verifications
  • System Administrators: Access maintenance and monitoring functions, manage platform settings, and oversee user management

🛠️ Development Setup

Recommended tools:

📦 Recommended method to install tooling

This project uses mise to manage various toolsets (Node, Dotnet, Tilt, etc)

  • mise is an asdf compatible Runtime Executor written in Rust
  • It's 20-200x faster than asdf

To install mise, follow the instructions at jdxcode/mise.

Here's a few of the ways to install mise

# Build from source
cargo install mise
# Download pre-compiled binary
curl https://mise.jdx.dev/install.sh | sh
# Cargo Binstall
cargo install cargo-binstall
cargo binstall mise
# MacOS or you're using Homebrew
brew install mise
# MacPorts
sudo port install mise

mise is compatible with Windows, but it is recommended to use WSL2 (FAQ).

Once you've got mise installed, you can install the required tooling by running mise install in the project root.

To pull in the config (e.g: environment variables) set in .mise.toml file, you'll need to run mise trust

🔄 Installing Git Hooks

This project uses husky to manage git hooks.

Once you've got mise and yarn installed (npm install -g yarn) run yarn install --frozen-lockfile in the root of the project.

This will bootstrap husky and install the configured git hooks.

📐 Other Documentation