diff --git a/README.md b/README.md index dfebc2f..d58964f 100644 --- a/README.md +++ b/README.md @@ -1,131 +1,192 @@ -

- Dynamic Family Tree Logo -
-

+# ๐ŸŒณ Dynamic Family Tree +A modern, responsive, and interactive **Family Tree web application** built using **HTML, CSS, and Vanilla JavaScript**. +The application allows users to create and manage family members, organize relationships, explore generations, search and filter members, and preserve family data directly in the browser using LocalStorage. -

- A Modern, Interactive Family Tree Web Application -
- Built with HTML, CSS, and Vanilla JavaScript -

+## โœจ Features -

- Features โ€ข - Live Demo โ€ข - Technologies โ€ข - Getting Started โ€ข - Documentation -

+* ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Add family members +* โœ๏ธ Edit existing members +* ๐Ÿ—‘๏ธ Delete family members +* ๐Ÿ‘ค View detailed member profiles +* ๐ŸŒณ Interactive family tree visualization +* ๐Ÿ”— Define relationships between family members +* ๐Ÿ” Search family members +* ๐ŸŽฏ Filter members by relationship +* ๐Ÿ“Š Dynamic family statistics +* ๐ŸŽ‚ Automatic age calculation +* ๐Ÿ–ผ๏ธ Upload profile images +* ๐Ÿ’พ LocalStorage data persistence +* ๐Ÿ“ฑ Fully responsive design +* ๐Ÿ’ป No backend or database required -

- Version - License - HTML5 - CSS3 - JavaScript - Status -

+## ๐ŸŒฟ Supported Relationships ---- +The application currently supports: -## ๐Ÿ“– Overview +* Grandfather +* Grandmother +* Father +* Mother +* Son +* Daughter +* Brother +* Sister +* Spouse -**Dynamic Family Tree** is a fully responsive, client-side web application that enables users to: +Members can also be connected using the **Related To** field. -- ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ **Create** and **manage** family members -- ๐Ÿ”— **Organize** relationships across multiple generations -- ๐ŸŒณ **Visualize** interactive family trees -- ๐Ÿ” **Search** and **filter** family members -- ๐Ÿ’พ **Preserve** data locally using **LocalStorage** +## ๐Ÿ“Š Dynamic Statistics -Perfect for genealogy enthusiasts, family historians, or anyone interested in documenting their family lineage. No backend or database required โ€“ everything runs directly in your browser. +The dashboard automatically updates information such as: ---- +* Total family members +* Total generations +* Family branches +* Oldest member -## โœจ Features +Statistics update whenever family members are added, edited, or removed. -### Core Functionality +## ๐Ÿ› ๏ธ Technologies Used -| Feature | Description | -|---------|-------------| -| โž• **Add Members** | Add family members with name, photo, DOB, gender, and biography | -| โœ๏ธ **Edit Members** | Update existing member details effortlessly | -| ๐Ÿ—‘๏ธ **Delete Members** | Remove members with confirmation to prevent accidental deletion | -| ๐Ÿ‘ค **Profile View** | View detailed member profiles with all information | -| ๐ŸŒณ **Tree View** | Interactive visualization of family relationships | -| ๐Ÿ”— **Relationships** | Define relationships like Father, Mother, Spouse, Siblings, etc. | -| ๐Ÿ” **Search** | Fast member search by name or relationship | -| ๐ŸŽฏ **Filter** | Filter members by relationship type | -| ๐Ÿ“Š **Statistics** | View family stats: total members, generations, branches, oldest member | -| ๐Ÿ“ธ **Photo Upload** | Upload profile images using FileReader API | -| ๐Ÿ’พ **Auto-Save** | All data persists automatically in LocalStorage | +* **HTML5** โ€” Semantic page structure +* **CSS3** โ€” Layout, responsive design, animations, and family tree styling +* **Vanilla JavaScript** โ€” Application logic and DOM manipulation +* **LocalStorage** โ€” Browser-based data persistence +* **FileReader API** โ€” Profile image handling -### Supported Relationships +No frameworks or external JavaScript libraries are required. -### Data Management +## ๐Ÿ“ Project Structure -- โœ… **No Database Required** โ€“ Everything stored in browser -- โœ… **Persistent Storage** โ€“ Data survives page refreshes -- โœ… **Instant Updates** โ€“ Changes reflect immediately -- โœ… **Export Ready** โ€“ Data can be extracted for backup +```text id="zzsmgh" +dynamic-family-tree/ +โ”‚ +โ”œโ”€โ”€ index.html +โ”‚ +โ”œโ”€โ”€ css/ +โ”‚ โ””โ”€โ”€ style.css +โ”‚ +โ”œโ”€โ”€ js/ +โ”‚ โ””โ”€โ”€ app.js +โ”‚ +โ”œโ”€โ”€ assets/ +โ”‚ โ””โ”€โ”€ images/ +โ”‚ +โ””โ”€โ”€ README.md +``` ---- +## ๐Ÿš€ Getting Started -## ๐Ÿ“Š Dynamic Statistics Dashboard +### 1. Clone the repository -The application automatically calculates and displays: +```bash id="fz91wy" +git clone https://github.com/YOUR-USERNAME/dynamic-family-tree.git +``` -| Statistic | Description | -|-----------|-------------| -| ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ **Total Members** | Complete family count | -| ๐Ÿ“ˆ **Generations** | Number of family generations | -| ๐ŸŒฟ **Branches** | Distinct family branches | -| ๐Ÿง“ **Oldest Member** | Age of the eldest family member | +### 2. Open the project -> **Note:** Statistics update in real-time when members are added, edited, or removed. +```bash id="woxc38" +cd dynamic-family-tree +``` ---- +### 3. Run the application -## ๐Ÿ› ๏ธ Technologies +Open `index.html` directly in your browser. -### Frontend Stack +For development, you can also use the **Live Server** extension in Visual Studio Code. -| Technology | Purpose | -|------------|---------| -| **HTML5** | Semantic, accessible page structure | -| **CSS3** | Responsive layouts, animations, tree styling | -| **Vanilla JavaScript** | Application logic, DOM manipulation, events | -| **LocalStorage API** | Client-side data persistence | -| **FileReader API** | Profile image upload and preview | +No installation, package manager, or build process is required. -### Key Features +## ๐Ÿ’ก How It Works -- โœ… **No Frameworks** โ€“ Pure vanilla JavaScript -- โœ… **No Dependencies** โ€“ Zero external libraries -- โœ… **Lightweight** โ€“ Fast load times -- โœ… **Cross-Browser** โ€“ Works on all modern browsers +Click **+ Add Member** and enter the family member's information. ---- +You can provide: -## ๐Ÿ“ Project Structure +* Full name +* Profile image +* Date of birth +* Gender +* Relationship +* Related family member +* Short biography + +After saving, JavaScript dynamically updates the members directory, family tree, and statistics. + +## ๐Ÿ’พ Data Storage + +Family data is stored using the browser's **LocalStorage**. + +This means: + +* Data remains available after refreshing the page. +* No database is required. +* Data is stored locally in the current browser. +* Clearing browser storage will remove the saved family data. + +## ๐Ÿ”Ž Search & Filtering + +Users can quickly find family members using the built-in search functionality. + +The members directory can also be filtered by relationship, making larger family trees easier to navigate. + +## ๐Ÿ“ฑ Responsive Design + +Dynamic Family Tree is designed to work across: + +* Desktop computers +* Laptops +* Tablets +* Mobile devices + +The interface automatically adapts to different screen sizes. + +## ๐ŸŽฏ Project Purpose + +This project was created to practice and demonstrate core front-end development concepts, including: + +* DOM manipulation +* JavaScript events +* CRUD operations +* Arrays and objects +* Form handling +* Dynamic rendering +* Search and filtering +* Browser storage +* FileReader API +* Responsive CSS all devices +* UI/UX design + +## ๐Ÿ”ฎ Future Improvements + +Possible future improvements include: + +* Drag-and-drop family tree +* Advanced genealogy relationships +* Zoom and pan controls +* Import/export family data +* JSON backup and restore +* Download family tree as PDF +* Dark mode +* Multiple family trees +* Backend/database integration +* User authentications + + +## ๐Ÿค Contributing + +Contributions, suggestions, and improvements are welcome. + +Feel free to fork the repository and submit a pull request. + +## ๐Ÿ“„ License + +This project is intended for learning, practice, and portfolio purposes. + +---screencapture-127-0-0-1-5500-index-html-2026-08-12-11_29_48 + + +โญ If you find this project useful, consider giving the repository a star! -```text -dynamic-family-tree/ -โ”‚ -โ”œโ”€โ”€ index.html # Main application page -โ”‚ -โ”œโ”€โ”€ css/ -โ”‚ โ””โ”€โ”€ style.css # Complete application styles -โ”‚ -โ”œโ”€โ”€ js/ -โ”‚ โ””โ”€โ”€ app.js # All application logic -โ”‚ -โ”œโ”€โ”€ assets/ -โ”‚ โ”œโ”€โ”€ images/ # Profile images and icons -โ”‚ โ”œโ”€โ”€ project-preview.png # Project screenshot -โ”‚ โ””โ”€โ”€ logo.png # Brand logo -โ”‚ -โ”œโ”€โ”€ README.md # Project documentation (this file) -โ””โ”€โ”€ LICENSE # MIT License