Web front-end for research databases (initially MASS-BD database)
Framework: Python Flask
packages: flask, pandas, pyodbc, os
The configuration is expected in a JSON file config.json in the app directory.
To use this application with MS SQL Server, an appropriate ODBC driver must be installed. On Windows, the following usually works:
{
"ODBC_DRIVER": "{SQL Server}",
"WINDOWS_AUTHENTICATION": true
}
and on Unix, if Microsoft's ODBC driver is installed, the following:
{
"ODBC_DRIVER": "{ODBC Driver 17 for SQL Server}",
"WINDOWS_AUTHENTICATION": false
}
Fixed an issue where integer columns were casted to float when there are missing values.
Added Bit filed / Boolean as a possible selection type
Fixed password requirements issue
Enforce password complexity
Fixes bug where security authentication using APIs no longer supported in FLASK SECURITY TOO
Remove index in downloaded csv
Switched to flask security too since flask security is no longer maintained
Updated requirements.txt to latest version
Remove an issue with queries has to start with WHERE
Fixed a bug where a non-existent object g.title was used
Upgraded dependencies to address security vulnerabilities
Added Configuring options for app title
Fix a bug where non-meaningful columns showing up in filter despite turning config off
Fix a bug where not all relationships are added to the keys dropdown
Fix a bug where outer join is not excuted
Refactored into a package in preparation for docker deployment and running on Unix systems.
added bootstrap for navigation bar
added some updates on docker
Removed all commented out code, support user/pass login to the database
Removed dependency with the date config (Merged)
Updated some bugs in helper function.
Reformat admin panel
Give an option for odering in config file
Reformate filtering page for ordering input
Compile all updates from previous week
Fixed all the bugs regarding table generations.
Change the partial variables to a set to support faster searches
Change the variable for ordering to be a set
Update the input selection to have be table column specific
Still need to update the html table displaying code to get rid of all the legacy code from first version
The Current version is not a stable release, will not work on displaying table
Update to the latest version
Highlight:
Admin and Super user account password management
When admin or super user changes a password, account holders have to change the password on login
Users can now specify which key to join on
join keys will be populated by the following logic:
Foreign to Primary key
common primary key relations
Schema will be appended to the table name when not using dbo schema
Updated to the latest version
Highlight: account management, configuration file added
Next up: Date format error fix and account management hierarchy
Completely implemented user saved queries
Implemented user change password
need to implement admin change password and enable/disable account
Saved query access completed, need to work on redirecting to corresponding query
Query Saving Implemented
Need to consider retrieving model and other displaying options.
Fixed Some Bugs
Updated endpoints for logout
Added admin role which can register users
Created Logins and basic authentication
Need to explore admin roles and email configurations.
Created App Factory
Supports both partial and exact match search
created sql dabase for user information
Added multiple selection on table selection
Allowed user to choose join type between tables
Enforced singular appearence of tables
Added better Navigaions and input fields
Looking at dynamic table selections.
Filtering option implemented,
further testing may be needed for edge cases
Next Step is to explore adding filtering options on the table previewing page
Multiple slect implemented with bootstrap multiselect
exploring sql generating methods to implement the filter
Working on multiple select on the input page,
Ran into bug regarding the use of dropdown checkbox
Will explore more next week.
Added individual column search
Looking into customization
Basic framework established.
Table display and sample_id search.
Preview display using jquery datatable
Known issue: slow load time for large data
Next goal: Establish individual Search functions and talk more about table joining and column dropping.