rissawyss / ApartmentSite

Dynamic property management app
https://vast-glacial-castle-91711.herokuapp.com/
3 stars 3 forks source link

ApartmentSite

Dynamic property management app

Web Development by Isometric Interactive

Bryan Castleman Nicholas Nooch

Marissa Wyss

A template to sell apartment communities

Technologies

Model View Controller (MVC) folder structure

2017-05-20 2

MODEL

Using the sequelize node module, models (tables) in the database were defined using sequelize.define('name', {attributes}, {options}) with appropriate DataTypes, Class Methods and Associations. Querying and accessing the database for CRUD (create, read, update, destroy) operations was executed via the Controller.

Tables Associations Add'l Associations/Methods
User Instance Valid Password
WorkOrder belongsTo(models.Tenant) belongsTo(models.Contractor)
Tenant hasMany(models.WorkOrder)
Contractor hasMany(models.WorkOrder)
Prospect
Applicant

VIEW

Handlebars were implemented to dynamically generate views routed through the Controller. Partials, along with built-In Helpers of each, if and unless allowed specific delivery of blocks of code depending on routes.

WorkOrder Maintenance Form Handlebars Sample

workorder-handlebars

CONTROLLER

The Controller determines the appropriate action method to handle requests from the server. A multitude of HTTP requests for the manager functionality alone were needed to create, view, edit and delete data:

AUTHENTICATION

A registration form is delivered at the /signup path which validates password by using regex. The Manager Login form is delivered via a modal, which authenticates user login by checking for existing username in the database (User model). login-signup

DESIGN

Dynamic view of property and floor plans

floorplans

Quick navigation to manager’s links

managerview

Table view of database models, and View/Edit/Delete icons

tableview

Form interface for contacting and applying

formview

Set up for Local Machine

'''npm install'''

''' npm run devstart '''

Copyright 2017 © Isometric Interactive

2017-04-20 2 - copy