{"id":21204327,"url":"https://github.com/hendrixjoseph/familytree","last_synced_at":"2025-03-14T22:46:00.253Z","repository":{"id":33262171,"uuid":"36906652","full_name":"hendrixjoseph/FamilyTree","owner":"hendrixjoseph","description":"A Family Tree web application created during my time in grad school.","archived":false,"fork":false,"pushed_at":"2020-11-17T20:04:13.000Z","size":8392,"stargazers_count":4,"open_issues_count":10,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-21T15:21:35.428Z","etag":null,"topics":["family-tree","jpa","jsf","primefaces","web-application"],"latest_commit_sha":null,"homepage":"https://www.joehxblog.com/FamilyTree/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hendrixjoseph.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-06-05T02:10:40.000Z","updated_at":"2022-10-22T00:39:22.000Z","dependencies_parsed_at":"2022-09-13T10:40:11.712Z","dependency_job_id":null,"html_url":"https://github.com/hendrixjoseph/FamilyTree","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendrixjoseph%2FFamilyTree","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendrixjoseph%2FFamilyTree/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendrixjoseph%2FFamilyTree/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendrixjoseph%2FFamilyTree/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hendrixjoseph","download_url":"https://codeload.github.com/hendrixjoseph/FamilyTree/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243658194,"owners_count":20326464,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["family-tree","jpa","jsf","primefaces","web-application"],"created_at":"2024-11-20T20:31:46.205Z","updated_at":"2025-03-14T22:46:00.219Z","avatar_url":"https://github.com/hendrixjoseph.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- \n  When copying contents to index.md, do the following:\n  Remove table of contents\n  Replace: ]\\(([^:http:#]) with ](https://github.com/hendrixjoseph/FamilyTree/blob/master/\\1\n--\u003e\n\n![FamilyTree Icon](src/site/resources/images/Family-Tree-icon-128.png)\n\n# FamilyTree\n\nFamilyTree is a simple web application using JavaServerFaces, Java EE, and a SQL database to load, display, edit, and examine a family tree. It was initially created as a project for CS7700 Advanced Database Systems at Wright State, and is currently being used for CS7720 Data Mining at the same school.\n\n## Readme Table of Contents\n\n* [Contents of Repository](#user-content-contents-of-repository) \n * [Configuration files](#user-content-configuration-files)\n   * [NetBeans Configuration Files](#netBeans-configuration-files)\n    * [IntelliJ Configuration Files](#intellij-configuration-files)\n    * [Maven Configuration Files](#maven-configuration-files)\n    * [Git Configuration File](#git-configuration-file)\n * [Source code](#user-content-source-code)\n * [SQL](#user-content-sql)\n * [Directory structure](#user-content-directory-structure)\n* [Setup](#user-content-setup)\n* [Tools](#user-content-tools)\n * [JavaScript Libraries](#user-content-javascript-libraries)\n * [Server and Database](#user-content-server-and-database)\n * [Development Tools](#user-content-development-tools)\n   * [Desktop Tools](#user-content-desktop-tools)\n    * [NetBeans Plugins](#user-content-netbeans-plugins)\n    * [Android Tools](#user-content-android-tools)\n* [Icon](#icon)\n* [License](#user-content-license)\n\n## Contents of Repository\n\n### Configuration files\n\n#### NetBeans Configuration Files\n\nThis repository contains two NetBeans configuration files, namely [`nb-configuration.xml`](nb-configuration.xml) and [`nbactions.xml`](nbactions.xml). \n\n#### IntelliJ Configuration Files\n\nIn addition to NetBeans configuration, it contains an IntelliJ configuration file [`familyTree.iml`](familyTree.iml) and configuration directory [`.idea/`](.idea/).\n\n#### Maven Configuration Files\n\nAlso, it contains the standard Maven [`pom.xml`](pom.xml) and an extra [`ojdbc7.pom`](ojdbc7.pom) to install Oracle's JDBC driver into the local repository.\n\n#### Git Configuration File\n\nFinally, it contains [`.gitignore`](.gitignore) so I don't accidently commit and push things I don't want onto GitHub.\n\n### Source code\n\nThe following types of files can be found in this project:\n\n* [`*.java`](src/main/java)\n* [`*.xhtml`](src/main/webapp)\n* [`*.sql`](sql/)\n* [`*.css`](src/main/webapp/WEB-INF/resource/css)\n\nThe following file type currently exists in the project, however, the files themselves are not written by me:\n\n* [`*.js`](src/main/webapp/WEB-INF/resource/js)\n\n### SQL\n\nAll the necessary SQL statements to create the database (should be) is in [`sql/export.sql`](sql/export.sql). All the subdirectories in [`sql/`](sql/) contain pretty much the same material as `export.sql`, they are only in different directories for easier human viewing.\n\n### Directory structure\n\nIf any directory structure of this project does not match the standard Maven configuration, the aim is to eventually change this project to match a standard Maven project.\n\n## Setup\n\nOnce this project is downloaded, there is one step required before it can be built by Maven.\n\n1. Download and install `ojdbc7.jar`\n\n   This can be found at http://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html. If that's a dead link, try [Googling `ojdbc7.jar`](https://www.google.com/search?q=ojdbc7.jar).\n\n   Install the jar file with one of the following ways:\n\n   **a.** `mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.1.0.1 -Dpackaging=jar -Dfile=ojdbc7.jar -DgeneratePom=true`\u003cbr /\u003e\n   **b.** `mvn install:install-file -Dfile=ojdbc7.jar -DpomFile=ojdbc7.pom`\n   \n  Option b can also be easily done through either NetBeans or IntelliJ. I've set it up so there should be minimal clicks:\n  \n  **NetBeans:** Under the Projects view, right-click your project, go to \"Custom\", and select \"install ojdbc7\".\u003cbr /\u003e\n  **IntelliJ:** In the run configuration drop down in the top right, select \"install ojdbc7.jar\".\n   \nIn order to run this project, a Java EE server and a SQL database need to be installed beforehand. I use [GlassFish 4.1](https://glassfish.java.net/) and [Oracle Database 11g Express Edition](http://www.oracle.com/technetwork/database/database-technologies/express-edition/overview/index.html). You will also need to setup a JDBC connection pool in your Java EE server. [I found this website helpful for setting it up in GlassFish.](https://computingat40s.wordpress.com/how-to-setup-a-jdbc-connection-in-glassfish/) The settings I used (other than username and password) are:\n\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd\u003ePool name: \u003c/td\u003e\u003ctd\u003eFamilyTreePool\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eResource type:\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ejava.sql.Driver\u003c/code\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eDatabase Driver Vendor: \u003c/td\u003e\u003ctd\u003eOracle\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eInitial and Minimum Pool Size:\u003c/td\u003e\u003ctd\u003eZero\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eURL:\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ejdbc:oracle:thin:@localhost:1521:XE\u003c/code\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\n## Tools\n\nIn addition to the [dependencies](http://hendrixjoseph.github.io/FamilyTree/dependencies.html) listed in the [pom.xml](pom.xml), I am using the following:\n\n### JavaScript Libraries\n\n * [Data-Driven Documents (D3)](http://d3js.org)\n * [C3.js | D3-based reusable chart library](http://c3js.org)\n * [Word Cloud Generator](https://www.jasondavies.com/wordcloud)\n\n### Server and Database\n\n* [GlassFish 4.1](https://glassfish.java.net/)\n* [Oracle Database 11g Express Edition](http://www.oracle.com/technetwork/database/database-technologies/express-edition/overview/index.html)\n \n### Development Tools\n\n#### Desktop Tools\n\n* [IntelliJ IDEA 14.1.5](https://www.jetbrains.com/idea) Ultimate Edition [Student License](https://www.jetbrains.com/student)\n* [NetBeans IDE 8.0.2](https://netbeans.org)\n* [Oracle SQL Developer 4.1.0.19](http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index-097090.html)\n* [Notepad++ v6.8.6](https://notepad-plus-plus.org)\n* [TortoiseGit 1.8.15.0](https://tortoisegit.org)\n* [Maven 3.3.3](https://maven.apache.org)\n\n#### Android Tools\n\n* [ForkHub for GitHub](https://play.google.com/store/apps/details?id=jp.forkhub) ([on GitHub](https://github.com/jonan/ForkHub))\n* [SGit](https://play.google.com/store/apps/details?id=me.sheimi.sgit) ([on GitHub](https://github.com/sheimi/SGit))\n* [Quoda](http://www.getquoda.com/)\n\nTested in [Firefox 42](https://www.mozilla.org/en-US/)\n\n## Icon\n\nThe FamilyTree Icon (![FamilyTree Icon](src/site/resources/images/Family-Tree-icon-32.png))  is originally from:\n\nhttp://www.iconarchive.com/show/the-community-icons-by-afterglow/Family-Tree-icon.html\n\nwhich attributes it to http://www.afterglow.ie.\n\n## License\n\nThis project is for personal academic purposes. I don't care what you do with it, as long as I get credit. Therefore I am using the [the MIT License](LICENSE.md).\n\n----------------------\n\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://people.wright.edu/hendrix.11\"\u003eJoseph Hendrix\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eCreated for CS7700 Advanced Database Systems\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eVersion 2.0 is for CS7720 Data Mining\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"http://www.wright.edu\"\u003eWright State University\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://engineering-computer-science.wright.edu\"\u003eCollege of Engineering \u0026amp; Computer Science\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://engineering-computer-science.wright.edu/computer-science-and-engineering\"\u003eDepartment of Computer Science \u0026amp; Engineering\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhendrixjoseph%2Ffamilytree","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhendrixjoseph%2Ffamilytree","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhendrixjoseph%2Ffamilytree/lists"}