Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.idea
sql
src
.gitignore
LICENSE.md
README.md
familyTree.iml
licenseheader.txt
nb-configuration.xml
nbactions.xml
ojdbc7.pom
pom.xml
settings.xml

README.md

FamilyTree Icon

FamilyTree

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

Readme Table of Contents

Contents of Repository

Configuration files

NetBeans Configuration Files

This repository contains two NetBeans configuration files, namely nb-configuration.xml and nbactions.xml.

IntelliJ Configuration Files

In addition to NetBeans configuration, it contains an IntelliJ configuration file familyTree.iml and configuration directory .idea/.

Maven Configuration Files

Also, it contains the standard Maven pom.xml and an extra ojdbc7.pom to install Oracle's JDBC driver into the local repository.

Git Configuration File

Finally, it contains .gitignore so I don't accidently commit and push things I don't want onto GitHub.

Source code

The following types of files can be found in this project:

The following file type currently exists in the project, however, the files themselves are not written by me:

SQL

All the necessary SQL statements to create the database (should be) is in sql/export.sql. All the subdirectories in sql/ contain pretty much the same material as export.sql, they are only in different directories for easier human viewing.

Directory structure

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

Setup

Once this project is downloaded, there is one step required before it can be built by Maven.

  1. Download and install ojdbc7.jar

    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.

    Install the jar file with one of the following ways:

    a. mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.1.0.1 -Dpackaging=jar -Dfile=ojdbc7.jar -DgeneratePom=true
    b. mvn install:install-file -Dfile=ojdbc7.jar -DpomFile=ojdbc7.pom

Option b can also be easily done through either NetBeans or IntelliJ. I've set it up so there should be minimal clicks:

NetBeans: Under the Projects view, right-click your project, go to "Custom", and select "install ojdbc7".
IntelliJ: In the run configuration drop down in the top right, select "install ojdbc7.jar".

In order to run this project, a Java EE server and a SQL database need to be installed beforehand. I use GlassFish 4.1 and Oracle Database 11g Express Edition. 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. The settings I used (other than username and password) are:

Pool name: FamilyTreePool
Resource type:java.sql.Driver
Database Driver Vendor: Oracle
Initial and Minimum Pool Size:Zero
URL:jdbc:oracle:thin:@localhost:1521:XE

Tools

In addition to the dependencies listed in the pom.xml, I am using the following:

JavaScript Libraries

Server and Database

Development Tools

Desktop Tools

Android Tools

Tested in Firefox 42

Icon

The FamilyTree Icon (FamilyTree Icon) is originally from:

http://www.iconarchive.com/show/the-community-icons-by-afterglow/Family-Tree-icon.html

which attributes it to http://www.afterglow.ie.

License

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


Joseph Hendrix
Created for CS7700 Advanced Database Systems
Version 2.0 is for CS7720 Data Mining
Wright State University
College of Engineering & Computer Science
Department of Computer Science & Engineering