This repository contains the codebase for the KinTree project. This project stems from the CSE 3213/3223 Software Engineering Senior Project I/II course sequence at Mississippi State University.
KinTree is an application that allows users to connect with family members and build virtual, visualized, and dynamic family trees collaboratively. KinTree utilizes React, Node.js, and MySQL. This project originated in Fall 2024. The project is ongoing through this forked repository in Fall 2025.
The current KinTree project team as of Fall 2025 includes Andrea Ambrose, Matthew Loyed, Xiang Chen, and Charles Lenson. The primary stakeholder for this project is Dr. Charan Gudla.
Node.js (install the correct version for your own OS here) and get your Supabase URL, CLIENT KEY, and SERVICE KEY from your project dashboard here
In the /server/ folder, add an .env file with variables SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY.
In the /client/ folder, add an .env file with variables REACT_APP_SUPABASE_URL and REACT_APP_SUPABASE_ANON_KEY.
To set up the KinTree codebase on your own machine, start by cloning the repository to your local file system.
From the command line, navigate to the /SeniorProject_KinTree/client directory, and run:
npm install
Once all dependencies are installed, you can run the frontend of the project from the /SeniorProject_KinTree/client directory by running the following command:
npm start
This command runs the application in development mode. You can open http://localhost:3000 in your browser to view the application and saved changes.
To run the backend, you must first install the backend node dependencies. Open another command line window and run the following command in the backend directory (/SeniorProject_KinTree/server):
npm install
Then, from the same directory, run the following command to run the server/API:
node server.js
This project uses a separate test database to run tests against. Therefore, make sure to paste in the proper env variables.
Paste TEST_SUPABASE_URL and TEST_SUPABASE_SERVICE_ROLE_KEY into a .env.test file in the root directory of the project.
Additionally, add REACT_APP_SUPABASE_URL and REACT_APP_SUPABASE_ANON_KEY to a .env.test file in the /client/ directory.
Finally, SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY should be added to the .env.test file in the /server/ directory as well.
Tree structure:
/SeniorProject_KinTree
/client
.env.test
/server
.env.test
.env.test
Move into the /server/ directory and run npm run start:dev-test to setup the auth storage and test environment.
Cd into the /client/ directory and run npm run start:dev-test to start the frontend in test mode.
Then, navigate back to the /SeniorProject_KinTree/ root directory and run:
npm run test
Follow the steps on sending emails with Resend to verify your domain and obtain your RESEND_API_KEY to store in .env.
Set EMAIL_FROM in .env.
