Skip to content
Thomas Mapesa edited this page Jul 21, 2014 · 24 revisions

Feature List (Current) Login User Guide User Management - Create, Read, Update and Delete - Password management( still missing) Patient Records - Create, Read, Update and Delete Lab Sections - Create, Read, Update and Delete Test Types - Create, Read, Update and Delete Measures - Create, Read, Update and Delete Specimen Types - Create, Read, Update and Delete

Standards

General programming All indices should zero based. e.g. if a element has sequential numeric values these would be from the series 0,1,2,3,... Database Naming

  • table names, column names: all lowercase, use underscores to separate words e.g specimen_id, test_type_id
  • names with abbreviations may be treated differently e.g. targetTAT makes more sense as is (do you agree?)
  • better long names that makes sense Use of appropriate field type e.g. ‘SMALLINT’ instead of ‘STRING’ for age If a primary key is necessary on a table it should be the first column and should be named 'id'. It should be unsigned. When this id is referenced in another table (as a foreign key) it should be called 'tablename_id' Table names are in the singular e.g. specimen instead of specimens Create a migration file for every new table or change to a table. If necessary add the seed data using a separate file. See the Migrations & Seeding section of the online Laravel guide.

PHP Classes - This applies to Controllers, Models, migration and seeding classes, ... Class names always begins with uppercase e.g. CreateTestTypeMeasureTable When combining words every word begins with uppercase. Do not use underscores e.g. SpecimenType as opposed to Specimen_type Method or Function names begin in lowercase and words join in uppercase e.g. getSpecimenTypes() Provide descriptive class and function comments before their definitions Variable names - begin in lowercase. Multiple words should begin in upper case e.g. specimenType

  • better long names that makes sense e.g. specimenType instead of speTyp soft delete(s) preferable to hard delete(s)

The views Using blade templating engine All html elements in lowercase Using bootstrap for css

HTML and CSS All CSS should be placed in an external stylesheet file (public/css/) CSS class names should use hyphens when joining words e.g. ‘user-image’ Indent for readability in order of precedence e.g.

form-group{} .form-group.actions-row{} .form-group > label{} .form-group .form-control{} .form-group .form-pane{} .form-group .form-pane label{}

Never use !important; CSS files should have categorised sections e.g. for user files, for general layout Use contextual elements such as and instead of or Page layout should be done from the CSS file. Do not use   for spacing. If done properly there should be no need to use
either. Comments: Include the section name e.g. /**

  • forms */

Javascript Using jquery All javascript code should be in external files (public/js/)

Github Create an issue for each change you want to make. Create a branch from the master for the same change. The branch name should be descriptive Once fixed should be reviewed before merging back to the master

Tests Every feature should have an accompanying test A feature should pass all tests before it is merged into the master branch

Clone this wiki locally