Skip to content

Latest commit

 

History

History
75 lines (52 loc) · 3.6 KB

File metadata and controls

75 lines (52 loc) · 3.6 KB

Internship Assignment: Build a Society Tree Visualization Tool

Objective

Design and develop an interactive family tree visualization tool. The tool should represent a caste family tree with 72 nodes, where each node represents a primary family branch. Upon clicking on a node, it should expand to show the surnames associated with that branch, along with their respective deity and gotra information.

Requirements

1. Data Structure

  • Primary Nodes: There are 72 primary family branches (nodes).
  • Sub-nodes: Each primary node has between 10 to 20 sub-nodes, representing surnames.
  • Sub-node Details: Each surname should be associated with specific details including the deity and gotra information.

2. User Interface (UI)

  • Main View:
    • Display 72 interactive bubbles, each representing a primary family branch.
    • Bubbles should be clearly labeled and visually distinct.
  • Interaction:
    • Clicking on a bubble should expand it to reveal the associated surnames.
    • The surnames should appear as smaller bubbles or nodes connected to the primary node.
    • Each surname bubble should display the deity and gotra information when hovered over or clicked.
  • Design Considerations:
    • Ensure the UI is responsive and visually appealing.
    • Maintain a user-friendly experience with smooth animations for transitions and expansions.
    • Consider accessibility features like keyboard navigation and screen reader support.

3. Technology Stack

  • Frontend: Use HTML, CSS, and JavaScript for building the UI.
  • Libraries: Consider using a visualization library like D3.js or a framework like React.js to manage the nodes and interactions.
  • Optional: Implement a basic backend using Node.js to serve data dynamically, or use JSON files to store the family tree data.

4. Deliverables

  • A fully functional web application that meets the requirements outlined above.
  • A brief document explaining the data structure, design choices, and any challenges faced during development.
  • A video walkthrough or presentation demonstrating the working application.

5. Evaluation Criteria

  • Functionality: Does the application work as expected? Are all nodes and interactions implemented correctly?
  • Design and Usability: Is the interface intuitive, visually appealing, and easy to navigate?
  • Code Quality: Is the code well-organized, commented, and following best practices?
  • Creativity: Are there any additional features or enhancements that improve the overall experience?

Timeline

  • Week 1: Initial design and data structure planning.
  • Week 2-3: Implementation of the main UI and node interactions.
  • Week 4: Testing, debugging, and final touches.
  • Week 5: Submission and presentation.

Deadline

  • Final Submission Date: 7 Days since first Pull Date

Submission Process

  1. GitHub Repository:

    • Create a private GitHub repository for your project.
    • Commit and push your code regularly, documenting significant changes with clear commit messages.
    • Ensure the repository contains all project files, including the source code, documentation, and any necessary resources.
  2. Submission:

    • Invite [Insert Supervisor's GitHub Username] to your private repository as a collaborator.
    • Submit a link to your GitHub repository via Email on RecursiveZero@outlook.com by the deadline.
    • Prepare for a brief presentation or demo to showcase your work.

Good Luck!

Note: This assignment aims to evaluate your skills in web development, design aesthetics, and attention to detail. Good luck!

© 2023 RecursiveZero, All rights reserved.