Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
113 commits
Select commit Hold shift + click to select a range
3c34e8c
Update README.md
aambrose1 Sep 25, 2025
bac690e
Create .env.example
aambrose1 Sep 25, 2025
07a3427
update database env variables
aambrose1 Sep 25, 2025
72a95b6
added migrations for missing info table and missing member column
aambrose1 Sep 28, 2025
153b469
correct mySQL link & specify env directory in README.md
aambrose1 Sep 30, 2025
3f5a734
docs: add contributing guidelines to CONTRIBUTING.md
aambrose1 Oct 5, 2025
a66765f
add gender field to family member forms and db models
aambrose1 Oct 10, 2025
1ee09c0
!! updated family-chart package
aambrose1 Oct 12, 2025
2688902
refactored relationship assignments in to tree object + err handling
aambrose1 Oct 12, 2025
11cb23d
update to f3 family chart + clearer console messages
aambrose1 Oct 12, 2025
f98e986
form data assignments + minor jsx / styling changes
aambrose1 Oct 12, 2025
cb883e6
Successfully integrated Supabase Registration, Login, and Signout. St…
MatthewLoyed Oct 20, 2025
18f4ecc
Add login button to Register page.
MatthewLoyed Oct 20, 2025
bf9b026
added err msgs, refactoring, link memberUserId to
aambrose1 Oct 26, 2025
f9b9bed
added date format to backend
aambrose1 Oct 26, 2025
ccd4a12
Implemented MFA, Session, OAuth, and Password Reset.
MatthewLoyed Oct 30, 2025
2e47a71
Migrated backend to Supabase. Deleted Knex but still use Express.
MatthewLoyed Oct 30, 2025
2f16191
sb setup added to readme
aambrose1 Oct 31, 2025
05eb11b
Made signout button more visible and change request redirects to login.
MatthewLoyed Nov 3, 2025
fcc335f
Merge branch 'feature/supabase-integration' of https://github.com/aam…
MatthewLoyed Nov 3, 2025
5315e04
Merge pull request #16 from aambrose1/feature/supabase-integration
aambrose1 Nov 4, 2025
cb5d56e
Squashed commit of the following:
aambrose1 Nov 8, 2025
c38b0c8
added tree service for more centralized fetching and resolved conflicts
aambrose1 Nov 8, 2025
49d0560
registration member & tree init working
aambrose1 Nov 9, 2025
4c89d28
fixed tree generation + updated npm package and style
aambrose1 Nov 11, 2025
1dc97fd
added a fetch treeobject to familyservice
aambrose1 Nov 11, 2025
8a31fff
fixes to family member
aambrose1 Nov 11, 2025
55f26dd
fixes to tree
aambrose1 Nov 11, 2025
ed5990d
fix typo
aambrose1 Nov 11, 2025
984c38e
fix account page for non-user & member usage
aambrose1 Nov 11, 2025
169886d
add auth_uid to userdata state
aambrose1 Nov 11, 2025
b3ab5ea
gender added to userModel + passed on registration
aambrose1 Nov 14, 2025
ef9ffc3
Added functionality to add profile picture, edit account info, and de…
MatthewLoyed Nov 17, 2025
239131c
Added password requirements to Update Password.
MatthewLoyed Nov 17, 2025
5fafece
tree info update
aambrose1 Nov 18, 2025
de49004
fix add family member update
aambrose1 Nov 18, 2025
e0f0d10
removed strictmode until dependencies flows better
aambrose1 Nov 18, 2025
c588b9e
fix: currentuserid not used, currentaccid is
aambrose1 Nov 18, 2025
bdd56d4
Merge branch 'main' into fix/issue-2-family-tree
aambrose1 Nov 18, 2025
b523955
Merge branch 'main' into docs/add-contributing-md
aambrose1 Nov 18, 2025
4945dcc
Merge pull request #5 from aambrose1/docs/add-contributing-md
aambrose1 Nov 18, 2025
d65d92b
Merge branch 'main' into fix/issue-2-family-tree
aambrose1 Nov 23, 2025
cc3bddc
Merge pull request #7 from aambrose1/fix/issue-2-family-tree
aambrose1 Nov 23, 2025
876cbe0
Merge branch 'main' into feature/edit-account
MatthewLoyed Nov 27, 2025
ba13a5f
removed duplicate sections from main (#20)
aambrose1 Nov 28, 2025
63f222a
fixed the create event button and popup
xinagchen Dec 1, 2025
dc6b83a
Fix parsing errors and React imports in Account and CreateAccount pages
MatthewLoyed Feb 10, 2026
b9fd50b
Fix Account.js fetch URL and profile header
MatthewLoyed Feb 11, 2026
4097afa
Merge branch 'main' into feature/edit-account
MatthewLoyed Feb 11, 2026
4bf37c0
update backend + refactor share tree pages
aambrose1 Feb 15, 2026
82589dc
added todos: email and viewing tree page
aambrose1 Feb 15, 2026
893182c
issue#15 - fixed createEvent Popup, Event Card on ActivityDash, and c…
xinagchen Feb 17, 2026
cc47586
changed the CreateEvent folder name to UserEvents - adding create eve…
xinagchen Feb 22, 2026
d523e7c
merged main into this branch
xinagchen Feb 22, 2026
ac758b5
fixed share and view sharedtree page
aambrose1 Feb 22, 2026
abf7170
added delete button and backend for viewsharedtrees
aambrose1 Feb 23, 2026
2e80a1f
fix(account): fetch auth users before falling back to family member e…
MatthewLoyed Feb 23, 2026
22b72a9
Merge pull request #19 from aambrose1/feature/edit-account
aambrose1 Feb 25, 2026
51b40db
fixed the refresh issues
xinagchen Feb 26, 2026
227e432
Merge branch 'main' into feature/user-event
xinagchen Feb 26, 2026
2a6e78b
changed component name to UserMemory to add delete and edit features …
xinagchen Feb 27, 2026
c3697f6
fix(tree): auto-provision initial tree data on registration to fix re…
MatthewLoyed Feb 28, 2026
84df275
Fix family tree sync bug and add extended relationship support
MatthewLoyed Feb 28, 2026
39be2d1
Fix profile display logic and redesign login/reset/update password pa…
MatthewLoyed Feb 28, 2026
0d4630a
feat: display relationship on account page
MatthewLoyed Mar 2, 2026
3af5259
fix: missing relationship import
MatthewLoyed Mar 2, 2026
674b6b6
Merge pull request #27 from aambrose1/26-fix-profile-bugs
MatthewLoyed Mar 2, 2026
0692bad
Merge remote-tracking branch 'origin/main' into 24-fix-family-treereg…
MatthewLoyed Mar 2, 2026
701bbf0
fix: resolve node routing to user profiles on tree chart click
MatthewLoyed Mar 2, 2026
3ab4d7a
Merge branch 'main' into fix/share-tree
aambrose1 Mar 4, 2026
b71bd23
setup api for sending emails and receiving invite via link
aambrose1 Mar 5, 2026
c8ca797
feat: sending emails works!
aambrose1 Mar 6, 2026
de849de
fix: family tree registration missing
aambrose1 Mar 13, 2026
7e3cacc
added accept/reject status update
aambrose1 Mar 15, 2026
7133ec2
duplicate supabase setup file
xinagchen Mar 19, 2026
29a6dd4
corrected the path to superbaseClient
xinagchen Mar 19, 2026
16e76d8
added edit and delete
xinagchen Mar 24, 2026
dc4ad5d
changed userIdInt to auth_uid
xinagchen Mar 24, 2026
8f0bb8d
removed direct supabase database calls from Client files to server fi…
xinagchen Mar 24, 2026
2f8795a
Merge branch 'main' into feature/user-event
xinagchen Mar 24, 2026
1d52a6e
Merge branch 'main' into feature/share-memory
xinagchen Mar 26, 2026
7e642f5
Merge branch 'feature/user-event' into feature/share-memory
xinagchen Mar 26, 2026
430d92a
backend code for share memory
xinagchen Mar 27, 2026
dafd8eb
added memory routes
xinagchen Mar 27, 2026
9b53483
corrected import path for UserMemory
xinagchen Mar 27, 2026
caf02cb
move memory code to MemoryCard for better organization
xinagchen Mar 27, 2026
c9d9c4c
added create and edit features for user share memory
xinagchen Mar 27, 2026
500d778
fix: resolve gender dropping during registration reducing family tree…
MatthewLoyed Apr 1, 2026
90bacdc
fixed reversed relationship argument
aambrose1 Apr 3, 2026
594c5f4
fix grandparent/matpat and clean up empty list check
aambrose1 Apr 3, 2026
e916b53
added mini tree toggle to trigger view smaller trees as the chart con…
aambrose1 Apr 3, 2026
daff286
bugfix: aunts/uncles not added to tree object
aambrose1 Apr 3, 2026
b99c229
Merge pull request #23 from aambrose1/feature/user-event
aambrose1 Apr 3, 2026
f6a0f41
Add testing. Uncle and aunt problems still exist.
MatthewLoyed Apr 6, 2026
0c68e73
Add Sync Tree, Reset Tree, Delete Family Member Functionality.
MatthewLoyed Apr 9, 2026
cd265a4
Refactored relationship types from AddFamilyMember. Add gender based …
MatthewLoyed Apr 10, 2026
1daa927
Refreshing tree no longer requires refreshing page.
MatthewLoyed Apr 10, 2026
3c44f06
Merge remote-tracking branch 'origin/24-fix-family-treeregistration-e…
xinagchen Apr 16, 2026
8e557b1
Merge branch 'main' into fix/share-tree
aambrose1 Apr 16, 2026
a6fa805
Merge branch 'main' into 24-fix-family-treeregistration-errors
aambrose1 Apr 16, 2026
cfb84a3
Merge pull request #25 from aambrose1/24-fix-family-treeregistration-…
aambrose1 Apr 16, 2026
090b3c3
fixed misspelled variables
aambrose1 Apr 16, 2026
3974d7d
add centralized url in all files with fallback to localhos)
aambrose1 Apr 16, 2026
af60410
update docs/.env.example
aambrose1 Apr 16, 2026
cb51515
moved env vars loader
aambrose1 Apr 16, 2026
db7818b
Merge branch 'main' into fix/share-tree
aambrose1 Apr 16, 2026
e67f8fb
added treememberid fetch
xinagchen Apr 19, 2026
e668987
enforced profileID
xinagchen Apr 19, 2026
14b9708
Merge branch 'main' into feature/share-memory
xinagchen Apr 19, 2026
a89e8ba
Merge branch 'main' into feature/share-memory
xinagchen Apr 20, 2026
12939d7
Merge pull request #29 from aambrose1/fix/share-tree
aambrose1 May 1, 2026
8c22927
Merge branch 'main' into feature/share-memory
aambrose1 May 1, 2026
d6c1a55
removed duplicate imports from a89e8ba94dd77bfa397c8226ac0c5a74b6d2b22f
aambrose1 May 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ lerna-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Local notes
*.local.md

# Runtime data
pids
*.pid
Expand Down
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"deno.enable": true
}
34 changes: 15 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,49 +2,45 @@

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. This project began in the Fall of 2024 and is ongoing. KinTree utilizes React, Node.js, and MySQL.
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](https://github.com/OwenAdams2023/SeniorProject_KinTree#). The project is ongoing through this forked repository in Fall 2025.

The current KinTree project team as of Spring 2025 includes Owen Adams, Kennedi James, Destiny Milsap, and Jade Thompson. The primary stakeholder for this project is Dr. Charan Gudla.
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.

# Install

### Prerequisites

Node.js (install the correct version for your own OS [here](https://nodejs.org/en))
MySQL Install (https://dev.mysql.com/downloads/mysql/)
Node.js (install the correct version for your own OS [here](https://nodejs.org/en)) and get your Supabase URL, CLIENT KEY, and SERVICE KEY from your project dashboard [here](https://supabase.com/)

### Setup
### Database Setup

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`.

### Web Application Setup

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:
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. Any changes made to the source code will cause the application page to refresh and show reflected changes (once the changed file is saved).
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 of code (server/API), 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):
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`

### Database Setup

Run the command `npm install knex mysql2`

Create a .env file with MySQL information. Add username, password, and database name.

Run the command `node mysql-connection.js` to verify the connection.

Run the command `knex:migrate status` to ensure proper migration files are loaded.

Run the command `knex migrate:latest` to create existing database tables.
### Emails setup

Follow the steps on [sending emails with Resend](https://github.com/resend/resend-examples/tree/main/express-resend-examples) to verify your domain and obtain your RESEND_API_KEY to store in `.env`.

Set EMAIL_FROM in `.env`.
Loading