Code Monkey home page Code Monkey logo

sofadb's Introduction

SOFADB

Build Status

  • Society of Forensic Anthropologists
  • Forensic Anthropology Case Database (FADAMA)

Installation

Prerequisites

  • PHP >= 7.2
  • PHP Mysql
  • PHP PECL Zip
  1. Git clone https://github.com/IGBIllinois/sofadb or download a tag release
git clone https://github.com/IGBIllinois/sofadb
  1. Create an alias in apache configs that points to the html folder.
Alias /sofadb /var/www/sofadb/html
<Directory /var/www/sofadb/html>
	AllowOverride None
	Require all granted
</Directory>
  1. Create the database and a user/password on the mysql server which has select/insert/delete/update permissions on the database.
CREATE DATABASE sofadb;
CREATE USER 'sofadb'@'localhost' IDENTIFIED BY 'STRONG_PASSWORD';
GRANT SELECT,INSERT,DELETE,UPDATE ON sofadb.* to 'sofadb'@'localhost';
  1. Run sql/sofadb.sql on the mysql server.

mysql -u root -p sofadb < sql/sofadb.sql

  1. Run the additional .sql files to populate the information databases
mysql -u root -p sofadb < sql/methods.sql
mysql -u root -p sofadb < sql/method_infos.sql
mysql -u root -p sofadb < sql/method_info_options.sql
mysql -u root -p sofadb < sql/reference.sql
mysql -u root -p sofadb < sql/method_info_reference_list.sql
mysql -u root -p sofadb < sql/prompts.sql
  1. Edit /conf/settings.inc.php to reflect your settings.
DEFINE ('DB_USER', '');
DEFINE ('DB_PASSWORD', '');
DEFINE ('DB_HOST', '');
DEFINE ('DB_NAME', '');
DEFINE ('TIMEZONE','');
DEFINE ('ADMIN_EMAIL', array());
DEFINE ('FROM_EMAIL', '');

DEFINE ("ROOT_URL", '');

DEFINE ("SESSION_NAME", "sofadb");
DEFINE ("SESSION_TIMEOUT",7200);

DEFINE ("SMTP_HOST", "localhost");
DEFINE ("SMTP_PORT", "25");
DEFINE ("SMTP_USERNAME","");
DEFINE ("SMTP_PASSWORD","");

DEFINE("DEBUG",false);
DEFINE("ENABLE_LOG",false);
DEFINE("LOG_FILE","");
  1. Run composer to install php dependencies

composer install --no-dev

  1. Default username is "[email protected]" with password 'password'
  • After logging in, change your password
  1. If logging is enabled. Copy conf/log_rotate.conf.dist to /etc/logrotate.d/sofadb and edit the log file path
cp conf/log_rotate.conf.dist /etc/logrotate.d/sofadb
  1. Copy conf/cron.dist to /etc/cron.d/sofadb. This creates the full reports each night
cp conf/cron.dist /etc/cron.d/sofadb

sofadb's People

Contributors

andicyim avatar chelseyjuarez avatar hughesc-uiuc avatar mbach7 avatar

Watchers

 avatar  avatar  avatar

sofadb's Issues

Edit Method Updates

Need to add 'General case Information' tab when editing method. Also need to add 'Back to Case' button to the top.

case table structure

i think some of the tinyint(11) can be changed to tinyint(1). These are just booleans.

Remove Old Password Authentication

need to remove code for old insecure authentication method. Only 8 users are left that need to reset their passwords so they support the new password encryption

Deleting Users

When you delete a user, it deletes all the cases and tier data of that user. Cris Hughes said that is by designed but should pop up with a warning when deleting a user that it will delete everything

password reset

after a password is reset, it should clear out the row in the password reset table.
Create a mysql event that will clear out the rows that have expired.
Changed the expires field to a mysql date/time field.
add field for time created.

ip address in session

after login, save person's ip address to session and check that for increase security.

Age Verification

In add case, the ages are not being verified. I was able to put in asdf for fage and fage2. Probably more verification is needed.

case table structure

i think some of the tinyint(11) can be changed to tinyint(1). These are just booleans.

trim/rtrim

pretty much anywhere you do a trim(), also do an rtrim(). That will then remove whitespace from beginning and end.

login page

when you hit submit and the password is wrong, it clears out the email field. that should stay filled out. remove the default password value from the password text box. It looks like the password is already filled out. Could be confusing.

reports

move admin reports to IGBillinois-php Reports class instead of generating csv itself. Then could make excel file also.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.