TreeChecker
TreeChecker is a Laravel application that allows users to run error checks on their GEDCOM family tree files.
GEDCOM files can be uploaded and parsed using a slightly modified version of the Webtrees parser,
then checked for a variety of errors (see the documentation at http://www.treechecker.net/wiki/ for a specification).
TreeChecker comes with a database model that allows for multiple users and family tree files.
The Laravel Eloquent ORM makes querying a breeze and allows for rapid development of new features.
(Development) Installation of TreeChecker
Preliminaries
- The application is written in the Laravel framework. Some useful resources on Laravel are posted below.
- Before installing, make sure to have Apache, MySQL and PHP (>=5.4) installed.
- Install Composer for dependency management.
Initialization
- Clone the repository with git (
git clone https://github.com/cgeltly/treechecker.git
)
- Run
composer install
to install the dependencies.
Database seeding
- Create a database called treechecker on your local MySQL installation.
- (optional) Add your machine to
bootstrap/start.php
as a local environment.
- Check the settings in
app/config/database.php
to see whether the connection details for the database are correct. You might need to change database names or access credentials.
- To migrate and seed the database (see http://laravel.com/docs/migrations for more info), use
php artisan migrate --seed
.
Back-end
- As stated before the back-end is written in the Laravel framework, version 4.2.x.
- The parsing part of the application relies heavily on the webtrees parser (version 1.5.3).
- For display of tables, we employ the blimm/datatables package (version 1.3 onwards).
Front-end
- The front-end of the application uses Bootstrap for its CSS.
- It runs quite a few JavaScript packages (all via CDN):
- The front-end can be launched by going to
localhost/treechecker/public/home
in your browser.
Testing
- TreeChecker is set up to use PHPUnit. You can run the tests by calling
phpunit
in a terminal.
- You can create a coverage report by uncommenting lines in
phpunit.xml
.
Last but not least
Want to know more about Laravel?