Skip to content

kpatell/generations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Generations

Generations is a modern, secure, and collaborative family tree application. It allows users to visualize their ancestry, manage family members, and share their trees with relatives.

Features

  • Interactive Tree Visualization: View your family history in a clean, hierarchical layout.
  • Multi-Tenancy: Create and manage multiple distinct family trees.
  • Collaboration: Invite family members via email to view or administer trees.
  • Rich Profiles: Add photos, birth/death dates, and relationship details.
  • Secure: Built with Row Level Security (RLS) to ensure data privacy.

Tech Stack

  • Frontend: React, TypeScript, Vite, TailwindCSS
  • Backend: Supabase (PostgreSQL, Auth, Storage, Edge Functions)
  • Icons: Lucide React

Local Setup

Prerequisites

  • Node.js (v18+)
  • npm or yarn
  • A Supabase project

Installation

  1. Clone the repository:

    git clone https://github.com/kpatell/generations.git
    cd generations
  2. Install dependencies:

    npm install
  3. Environment Configuration: Create a .env file in the root directory:

    cp .env.example .env

    Fill in your Supabase credentials:

    VITE_SUPABASE_URL=your_supabase_project_url
    VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
  4. Database Setup: Run the SQL scripts located in the supabase/ directory in your Supabase SQL Editor in the following order:

    1. supabase_schema.sql (Base schema)
    2. multi_tenancy.sql (Multi-tenancy support)
    3. sharing.sql (Sharing and Profiles)

Running the App

Start the development server:

npm run dev

Open http://localhost:5173 in your browser.

Contributing

We welcome contributions! Please see CONTRIBUTING.md for details on how to submit a Pull Request.

Code Quality

  • Run npm run lint to check for linting errors.
  • Run npx tsc --noEmit to check for TypeScript errors.
  • Run npm test to run the full test suite (Unit + E2E).
  • Ensure npm run build passes before submitting.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

a web application that manages family trees

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published