Skip to content

abhikaboy/Kindred

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

559 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kindred Cover Foreward

Tech Stack

  • Backend: Go, Fiber, Websockets + Genkit
  • Frontend: React Native, TypeScript, Expo SDK 52
  • Database: MongoDB Atlas
  • Analytics: PostHog

Environment Setup

PostHog Analytics

PostHog is integrated for automatic event tracking across all API endpoints. See backend/POSTHOG_SETUP.md for detailed setup instructions.

Required environment variable:

POSTHOG_API_KEY=your_api_key_here

Development Environment Setup

DEVELOPMENT ENVIRONMENT
╭──────────────────┬─────────────────────────────────────────────────╮
│ scripts          │ description                                     │
├──────────────────┼─────────────────────────────────────────────────┤
│ backend-lint     │ # Lints backend code.                           │
│ backend-run      │ # Runs the backend server in development mode.  │
│ backend-test     │ # Tests backend code.                           │
│ database-script  │ # Runs a script against the connected Database  │
│ frontend-lint    │ # Lints frontend code.                          │
│ frontend-run     │ # Runs the frontend server in development mode. │
│ frontend-run-wsl │ # Runs the frontend server in tunnel mode.      │
│ frontend-test    │ # Runs the frontend tests.                      │
╰──────────────────┴─────────────────────────────────────────────────╯

This guide assumes that you are using Linux/macOS. If you are using Windows, please install WSL.

To get started, clone the repository via HTTPS by running git clone https://github.com/abhikaboy/Kindred-template.git. If you'd prefer, you can clone it via SSH.

NIX Installation (Recommended)

  1. Install Nix
    curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
  • Type in computer password if prompted.
  • Say yes to prompt.
  1. In a new terminal activate the development environment by running the following:
nix develop --impure

Testing

Backend Tests

The backend uses an ephemeral database system for testing. Each test gets a fresh, isolated MongoDB database that's automatically created and destroyed.

Quick Start

→ 5-Minute Quick Start Guide

# 1. Install MongoDB
brew install mongodb-community && brew services start mongodb-community

# 2. Verify setup
make check-mongodb

# 3. Run tests
make test-backend

Documentation

Key Features

  • True isolation - Each test gets its own database
  • Parallel safe - Run tests concurrently
  • Auto cleanup - Databases automatically dropped
  • Fixtures included - All 16 collections pre-seeded
  • Works anywhere - Local MongoDB or Atlas
  • CI/CD ready - GitHub Actions workflows included
  • Pre-commit hooks - Auto-installed in Nix environment

About

Human Centered Productivity

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors