Ydin is a brand name for a suite of open-source health and wellness applications. Each app under the Ydin umbrella is its own independent application, built with modern web technologies and designed to work seamlessly together.
| Package | Description | README |
|---|---|---|
| Nutrition | Macro and calorie tracking app | View |
| Design System | Shared component library | View |
| StorageProvider | Storage abstraction layer (SQLite, IndexedDB, LocalStorage) | View |
| Category | Technology |
|---|---|
| Framework | React 19 + TypeScript |
| Build Tool | Vite |
| Styling | Tailwind CSS |
| State | Jotai |
| Storage | SQLite WASM, IndexedDB, LocalStorage |
| Testing | Vitest, Playwright |
| Code Quality | ESLint + Prettier |
- Node.js v18 or higher
- pnpm (this is a pnpm monorepo)
# Install pnpm if you don't have it
npm install -g pnpm# Clone the repository
git clone <repository-url>
cd Ydin
# Install all dependencies
pnpm install
# Start the Nutrition app
pnpm dev
# Start Storybook (Design System)
pnpm storybookYdin/
├── README.md # This file
├── CONTRIBUTING.md # Developer guide & architecture docs
├── LICENSE # GPLv3 license
├── package.json # Root workspace config
├── pnpm-workspace.yaml # pnpm workspace definition
└── packages/
├── Nutrition/ # Macro & calorie tracking app
├── DesignSystem/ # Shared component library
└── StorageProvider/ # Storage abstraction layer
Run these from the root directory:
| Command | Description |
|---|---|
pnpm dev |
Start the Nutrition app dev server |
pnpm build |
Build all packages |
pnpm storybook |
Start Storybook for the Design System |
pnpm test |
Run all tests |
pnpm lint |
Lint all packages |
pnpm format |
Format code with Prettier |
We welcome contributions! Please read CONTRIBUTING.md for:
- Architecture documentation
- Code organization guidelines
- Testing strategy
- Development workflow
This project is licensed under the GNU General Public License v3.0 (GPLv3) - see the LICENSE file for details.