Skip to content

TreeTrace is a web-based application designed to help users build, compare, and identify familial connections by uploading and managing their family trees

Notifications You must be signed in to change notification settings

ZenXen7/TreeTrace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌳 TreeTrace

Beta Status MIT License Version

🧬 Your Family Story, Beautifully Connected

A modern, AI-powered family tree platform that helps you build, visualize, and preserve your family heritage while tracking health patterns across generations.


✨ Features

🌟 Interactive Family Trees

  • Drag & Drop Interface - Build your family tree with intuitive controls
  • Multiple Relationship Types - Support for biological, adopted, step, and foster relationships
  • Real-time Collaboration - Work together with family members
  • Smart Suggestions - AI-powered recommendations for potential family connections

πŸ₯ Health Heritage Tracking

  • Medical History Management - Comprehensive health condition tracking
  • Hereditary Risk Analysis - Identify patterns and genetic predispositions
  • AI Health Insights - Generate intelligent health reports and recommendations
  • Secure Data Storage - HIPAA-compliant health information protection

πŸ” Advanced Features

  • Powerful Search & Filtering - Find family members and health conditions instantly
  • Export & Sharing Tools - Generate PDFs, CSV exports, and shareable links
  • Community Connections - Discover potential family matches through our network
  • Mobile Responsive - Access your family tree anywhere, anytime

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • MongoDB 5.0+
  • npm or yarn

Installation

  1. Clone the repository
git clone https://github.com/ZenXen7/TreeTrace.git
cd treetrace
  1. Install dependencies
# Backend
cd backend
npm install

# Frontend
cd ../frontend
npm install
  1. Environment Setup
# Backend .env
DATABASE_URL=mongodb://localhost:27017/treetrace
JWT_SECRET=your-secret-key
GEMINI_API_KEY=your-gemini-api-key

# Frontend .env.local
NEXT_PUBLIC_API_URL=http://localhost:3001
  1. Start the application
# Backend (Port 3001)
cd backend
npm run start:dev

# Frontend (Port 3000)
cd frontend
npm run dev
  1. Visit http://localhost:3000 and start building your family tree! πŸŽ‰

πŸ› οΈ Tech Stack

Backend

Technology Purpose Version
NestJS Node.js framework (structured) ^10.0.0
MongoDB NoSQL database ^5.0
TypeScript Type safety ^5.0
JWT Authentication ^9.0

Frontend

Technology Purpose Version
Next.js React framework ^14.0
shadcn/ui UI components library ^0.2.0+
TypeScript Type safety ^5.0
TailwindCSS Styling ^3.0
Balkan JS Family tree visualization Latest

πŸ“– Usage Guide

πŸ” Getting Started

  1. Create Account - Register with your email and basic information
  2. Verify Email - Check your inbox and verify your account
  3. Login - Access your personal family tree dashboard

πŸ‘₯ Building Your Tree

  1. Add Yourself - Start with your own information as the root

  2. Add Family Members - Use the intuitive interface to add:

    • Parents and grandparents
    • Siblings and cousins
    • Children and grandchildren
    • Partners and spouses
  3. Define Relationships - Specify biological, adopted, step, or foster connections

  4. Add Details - Include birth dates, locations, occupations, and photos

πŸ₯ Health Tracking

  1. Medical History - Record health conditions for each family member
  2. Genetic Markers - Mark conditions as hereditary when applicable
  3. Health Reports - Generate AI-powered health analysis reports
  4. Risk Assessment - Identify potential hereditary health risks

πŸ“Š Analysis & Insights

  1. Health Overview - Visualize health patterns across generations
  2. Filter & Search - Find specific conditions or family members
  3. Export Data - Generate CSV files or PDF reports
  4. Share Insights - Securely share findings with healthcare providers

πŸ“š Documentation

Resource Description Link
πŸ“‹ API Documentation Complete backend API reference View Docs
🎨 UI Components Frontend component library View Docs
πŸ”§ Setup Guide Detailed installation instructions View Docs
πŸ₯ Health Features Medical tracking documentation View Docs

🀝 Contributing

We welcome contributions from the community! Here's how you can help:

πŸ› Bug Reports

Please include:

  • Clear description of the problem
  • Steps to reproduce
  • Expected vs actual behavior
  • Screenshots if applicable

✨ Feature Requests

Include:

  • Detailed description of the feature
  • Use case and benefits
  • Any mockups or examples

πŸ’» Code Contributions

  1. Fork the repository
  2. Create a feature branch
git checkout -b feature/amazing-feature
  1. Commit your changes
git commit -m 'Add amazing feature'
  1. Push to your branch
git push origin feature/amazing-feature
  1. Open a Pull Request

πŸ“ Development Guidelines

  • Follow TypeScript best practices
  • Write tests for new features
  • Update documentation as needed
  • Follow the existing code style
  • Keep commits atomic and well-described

πŸ“ž Support

Need help? We're here for you!


πŸ“„ License

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


🌟 Star us on GitHub if TreeTrace helps preserve your family heritage! 🌟

Made with ❀️ by the TreeTrace Team


About

TreeTrace is a web-based application designed to help users build, compare, and identify familial connections by uploading and managing their family trees

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages