Professional Documents
Culture Documents
31 May 2020
1
Table of Contents
Executive Summary 2
Introduction / Discussion 3
Problem and / or Issue in Technology
3
Solution to the Problem and/or Issue in Technology 3
Project Goals and Objectives 4
Community and Stakeholders 6
Evidence that the Proposed Project is Needed 7
Feasibility Discussion 8
Design Requirements 10
Functional Decomposition of the Project 10
Selection of Design Criterion 11
Final Deliverables 12
Approach / Methodology 12
Legal Considerations 15
Ethical Considerations 15
Timeline / Budget
16
Usability Testing / Evaluation
17
Final Implementation 19
Technology Stack 20
Deployment 22
Database 22
Inside the Node Application 23
What Changed 26
Conclusion 27
References 29
2
Appendix 31
Executive Summary
This document describes the capstone project for Mark Mariscal, Christopher Piwarski,
and Wais Robleh. This capstone is conducted in accordance with the guidelines set forth by
California State University Monterey Bay. The Team created a full stack web application for the
purpose of pairing persons looking to form a roommate partnership. This application is called
Leewayz and can be accessed online. Leewayz will differentiate itself from the rest of the market
The application is developed using best practices the team learned through their software
engineering courses and administration research. Leewayz takes advantage of cloud computing
by having an Amazon Web Services (AWS) infrastructure. The technology driving the
application is Javascript, specifically the NodeJS framework. The timeline scope of this project
took approximately six weeks to complete with all the proposed features. The primary form of
evaluation is user feedback. Any comments and improvements suggested were tracked using
Leewayz aspires to offer an alternative to other room rental opportunities that resonates
with potential users. Selecting a roommate can be a difficult personal decision. The Contributors
feel privileged to take this capstone project as an opportunity to provide a service that is
meaningful to others.
3
Introduction / Discussion
adequate housing at affordable rates in areas such as Silicon Valley. “We have systematic
failures to create adequate affordable housing for our hard-working families, and that is
something we must change,” said Oakland Mayor Libby Schaaf (Colorado, 2020).” This seems
to be a growing problem accelerated by the digital divide and other lapses in social equity. Many
people who want to rent an apartment are actually unable to due to their credit score, not being
able to afford a place for themselves, or financially unable to afford a place in a safe
environment. While this is not specifically a technological issue, it is a problem that the authors
feel can be alleviated through the use of technology. While there are numerous existing web and
mobile applications aimed at the housing market, it is not certain that a specific platform is
own due to their financial situations. Being able to find a room on a trusted platform will allow
for users to feel that they matter. There is a place for them to seek a safe living space. There is a
real need for a platform that values every user and understands that for some renters, being able
to afford a room is most essential. A strong renting platform would work to weed out users who
4
aim to take advantage of others, as well as consider social factors that make for a harmonious
living environment.
mentioned issue. It is a Full Stack web application that helps individuals find rooms to rent, as
well as helps individuals post rooms that they are interested in renting out. Users interact with
Leewayz through a web browser. This decision was made as most renters are familiar with how
to maneuver the web browser easily and efficiently. Having a good user interface (UI) was a top
priority when creating the Leewayz web application to help facilitate focus on the renting aspect,
Goals Objectives
Create a fully functioning web application room - Create a miniature monolith application as
increase stability
Provide a unique room rental platform that users - Outline features that competing services
cohabitation considerations
Familiarize and implement cloud infrastructure - Create AWS accounts for the project and
infrastructure implementation
Use Node and Javascript to implement a website - All Creators contribute to the Node
productivity tools to provide a smooth and Development best practices with Trello
using an online service. Moving to a new area and having to share an apartment or house is
difficult. It is especially difficult if you do not know anyone in the area. Even those who already
live in the area can take advantage of Leewayz. The service makes it easier to connect rentees
subletting their property. Letting someone into your property is a serious consideration. These
leaseholders are cautious because of how much they can be liable for if they welcome the wrong
roommates into their homes. If they pick the wrong option, they may be on the hook for
hundreds to thousands of dollars. For example, having a tenant who can not pay reliably. Late
payments from one or more tenants can cause unexpected shortfalls for a landlord until they
receive their full payment. Even eviction can be a pricey endeavor, with the costs involved
sometimes reaching as high as $10,000! (Collatz, 2017). Roommates usually sign leases by
themselves or with other renters to a landlord. Anyone rooming with a bad roommate can be
forced to stay the entire duration of their lease. To break it they will usually be liable for the
7
entire amount of the lease, up to a year’s rent. If it is not paid, not only will a landlord have to
fight to receive owed rent, but also lose money for each month that a unit is not being occupied
Another stakeholder is the apartment complexes that usually see a wave of customers
going to their website first and reaching out to rent a room from them. They could be negatively
impacted and see less consumers on their websites due to Leewayz having lower prices set by
From The Contributor’s viewpoint, stakeholders gain more than lose from this
application. By introducing a system that both sides feel comfortable with, Leewayz reduces the
tension involved with rental and helps a community grow. Having information readily available
saves the time of all parties involved and brings about faster housing placement. It is as
More people are moving to cities where housing has not increased in proportion to the increase
in population. This rise is such that about “30 percent of American adults aged 23 to 65 lived
with roommates.” (Volpe, 2018) These individuals are usually moving for a job opportunity and
do not have the necessary family or friend structure in place at the new city of their arrival. As
such, people are turning to shared housing or roommates in order to keep up with the demand.
8
These roommates also need to find a way to match up with each other. People have
different living standards, and lifestyles. As a result, some individuals make for better
cohabitation matches than others. Some websites like Craigslist have plenty of user engagement,
but do not provide enough details into how an individual actually lives. Others may have some of
the details, but not enough to make a user want to use that platform. Providing a flexible
platform that can provide the details will help place more individuals into compatible roommate
Feasibility Discussion
The Author’s original environmental scan showed that, although there is an established
base of internet enabled real estate applications, they were not addressing the issue outlined in
this report. This fact seems to exist in contrast to the financial investment being placed into these
existing housing applications. “If we follow the money, it’s clear that more and more leading
VCs are turning to real estate tech or proptech for ripe opportunities for juicy returns and
disruption on a global scale” (Tabatabai, 2019). While profit stands to be made, little
When surveyed, the major players in the existing market were revealed to be Zillow.com
(Zillow) and Craigslist.com (Craigslist). These two competitors take vastly different approaches
to the design of their applications. Zillow’s applications primarily function through a map style
interface while Craigslist operates as a listing board. Besides their aesthetic differences, the
competitors take a different approach to how they handle their users. “This brings Zillow full
circle into the ability to search, compare, and ultimately purchase your own home” (Lewellen,
9
2018). Zillow aims to own and operate every aspect of the rental and purchasing process, while
Craigslist is a platform with a minimalist, hands off approach to customer data and
responsibility. This often works against Craiglist as their hands off approach is often to the
benefit of anonymous malicious actors. Monetary and identity theft are a real concern for
potential renters on Craiglists (Craigslist Scams to Avoid When Apartment Hunting in San
Francisco, 2019).
The Authors believe there is room for a service that exists in the middle of these two
extremes, and that this balance is in the best interest of customers. Both of these giants of the
rental industry fail to address whether potential roommates would be suitable for each other.
Addressing this consideration is what differentiates Leewayz from the rest of the market. The
cohabitation and enable users to consider these factors in their selection process.
The design of the Leewayz application leverages widely used industry standard
technology. While the technology is not antiquated, it is established enough that there is no
concern about developing at the bleeding edge where a deficiency of libraries and information
exists. The application itself is developed using Javascript, specifically using NodeJS and
Express. There were numerous advantages to selecting this technology besides the familiarity
that all the developers had with it. NodeJS is often celebrated for its ubiquity, ease of use, and
operability on both the front and back end of the application (Nehra, 2019). Given the
development timeline for this project, these features of NodeJS are critical to the success of the
Leewayz site.
10
Originally the plan for the infrastructure was to take a classic “meat and potatoes”
approach. This means allocating cloud resources via the Amazon Web Services (AWS) console,
and operating a web server on top of these assets via manual linux administration. The original
deployment of Leewayz.com was conducted in this fashion using a Bitnami distribution package.
While this is highly beneficial from an educational standpoint, this proved to be an unreliable
process that created more toil than it eliminated. With some guidance from an expert and
research, it became clear that the system operations field has largely moved away from this style
of administration and has adopted containers. “Real-world data backs up the conclusion that
Docker is being widely adopted. DataDog, a cloud-monitoring system, found that by March
2016, "13.6 percent of Datadog's customers had adopted Docker” (Vaughan-Nichols, 2018).
Armed with that knowledge, the Leewayz project was moved to a much more modern
workflow. A Dockerfile was written to containerize the application itself, and compose files
were written to orchestrate with the other containers. Traefik was selected as the reverse proxy
router for its modernity and ease of use. MariaDB was chosen as the database for it’s connection
to MySQL while being open source. All of these containers are orchestrated via a docker
compose file and run on an AWS Lightsail Ubuntu instance. These technologies enable easy
Design Requirements
either landlords or renters, to place and search listings of housing locations. The homepage is
located on an “index” page that shows example photos of houses and a navigation bar on top that
leads: back to the main menu, listings, profiles, login and signup pages. The signup page is
where a user is created and chooses whether they are a renter or landlord. If they are a renter,
then the application will create an account and redirect to a profile page. If they are a landlord,
then it will redirect to an add listing page. The login page is where a user will be able to login
using credentials created during the signup page; using a username and password. The profile
page is where renters are populated according to their descriptors. The listing page is populated
The MySQL database handles all information passed through the application and stores it
into three main tables. The user table contains identifying information for those who have access
on listing properties. The user table differentiates whether it is a landlord, renter and admin. The
listing table keeps track of property information such as rent, location, amenities and other
descriptors. Finally the renter table keeps track of renter info to be used at the profile page so that
are a renter or a landlord. Renter users need to be able to create their own profiles and select
listings that appeal to them. Landlords must be able to create listings of their property that they
want to lease out to and check out profiles of renters. Through test user feedback we hope to
Performance goals for this project is to have the database effectively manage information
from the application without much administration input or fixes. To remain reliable, the database
and application needs to be hosted in a secure storage location. Costs for maintaining these
servers and keeping the domain name will be initially funded by the team members.
Final Deliverables
The final deliverable is a full stack web application in the form of the Design
Requirements section. The Contributors created a live Leewayz application during the course of
the capstone project. The application can be accessed by visiting www.leewayz.com from your
web browser. Leewayz.com was a domain purchased by the project team so it can permanently
continue using that name. A github repository was used to store the code that programs the
leewayz site. During development of the project it has remained private. Plans can be made to
A video has been made demonstrating our project. It is located on youtube through
Mark’s student youtube channel. A formal live presentation will be made at the CSUMB CS
13
Capstone presentation on June 13 2020. Otherwise this paper describes the details on this project.
(Mariscal, 2020)
Approach / Methodology
The contributors developed the application in accordance with software engineering best
practices. The codebase is stored in an online hosted Git repository, and all new features are
submitted via a branch merge request. Github is currently the chosen platform to host the
repository, but in the future it may be prudent to switch to a local repository. Progress is tracked
using the kanban board system Trello. All proposed features are converted into individual cards
and assigned to members of the development team. Developers are responsible for managing
cards as they complete feature requests. Google Hangouts / Meets is The Team’s primary
communication platform, and G Suite is used for productivity software. Personal cell phones
The Leewayz infrastructure platform is cloud based, in order to maximize reliability, and
cost. The contributors use Amazon Web Services (AWS) to operate infrastructure on the current
largest cloud platform. Leewayz specifically runs on AWS Lightsail, using an Ubuntu instance.
The front end for the application is crafted using Javascript. Node.js will be used as a backup
The first phase of the project was the creation of necessary accounts and granting of
access. Each contributor is responsible for administering at least one service in the productivity
stack. Where applicable, these responsibilities are assigned based on predefined roles and
14
specialties. This process took about two days, and by the end, all contributors had access to every
The second phase was the first phase of development. Infrastructure was indeed
purchased and configured through AWS, while the initial front end development was conducted
on local development environments. The architecture of the first design was a small monolith.
The objective is to create a functional application with the base set of features completed. This
phase will be completed when the contributors have a small working application that can be
The next phase is to break apart the application into distributed services in accordance
with the microservices model. From previous courses, The Development Team saw the
main being that a part of the application can fail without the whole project becoming inoperable.
This goal was achieved via the infrastructure level of the application. This goal was realized on
the infrastructure level. While the website runs on a single AWS Ubuntu instance, this instance is
the host for several microservices containers. The MariaDB Database, the Traefik router,
Prometheus monitoring, and Leewayz itself are all different services that are integrated using
The last and current phase is to add additional features to leewayz.com in accordance
with the software-as-a-service development model. Emphasis was first placed on polishing
Leewayz into a high class application according to The Development Team’s own personal
standard of success. This was accomplished by focusing on the route of user interaction with the
site to find problem situations that can break the application. The next step is to incorporate user
15
feedback into another round of polish to ensure that the needs of future customers are met. At the
time of writing, test users have been selected and scheduled for study. Improvements will be
made to the application based on their feedback. Suggestions will be converted to feature cards
on the Trello board which will then be acted upon by the development team. Through this
method The Developers hope to provide a polished, world class web application.
Legal Considerations
Renting rooms is a complex legal matter. In order to lease a space, the property owner
has to adhere to a set of obligations to avoid legal repercussions. Among these obligations are
maintaining the property, monetary exchange, and contract cancellation (Stewart, 2014). For this
reason, it is critical that Leewayz differentiates itself from the Landlord - Tenant relationship.
Since Leewayz is now released to consumers, language is provided that characterizes Leewayz
as the platform with which landlords and tenants find each other, and not an active participant in
the landlord - tenant relationship. While some competitors have more active participation in this
relationship, that is an auxiliary service that is currently out of scope for Leewayz.com. Should
Leewayz’s scope change, it is necessary the language be updated to reflect the new level of
Ethical Considerations
Housing is a human necessity, and as such it suffers from the same potential abuses as the
rest of society. Historically, housing rental has been an arena in which social injustice has been
16
perpetuated. “More than 90 percent of all housing discrimination occurred during rental
transactions, even though renters are often in greater need of affordable housing than
homeowners” (Thomas, 2017). It is vital for Leewayz to maintain an equitable renting platform
individuals who are able to afford to rent a room but are not given access due to having multiple
individuals in their family. For example, a mother who is working to afford a room for her and
her two children has found a room on our application to rent, but the person renting the room is
only allowing two individuals in the room. This could negatively impact a vast majority of users
who are trying to find reasonable rent to accommodate not only themselves, but their families as
well. One way to mitigate this ethical concern would be to have Leewayz establish a way for
users to search rooms by number of occupants per room. This would help users to filter out the
Timeline / Budget
The timeline for this project was calculated at six weeks for product development. The
reasoning behind this decision was that the fixed duration for the associated capstone course was
eight weeks. It was known when entering the project that the whole eight week duration would
not be allotted solely for development; however, this was not planned for accordingly in the
proposal. . In order to successfully achieve the final deliverable, the project scope had to be
hemmed to six weeks, not eight. The six week timeline also built in padding in order to account
17
for potential roadblocks and unforeseeable circumstances. The Developers are proud to say that
the project was completed as scoped within the timeline that was agreed upon.
At the time that the proposal was written, it was only clear where the project’s expenses
would be, not how much. While some of the technology stack has changed from the original
resource outline, this was done in a way that leveraged open source software. Changes to the
technology resources and associated scope of the project did not generate any unforeseen
expenses. The major budgetary concern was cloud compute power which was provided in the
form of Amazon Web Services Lightsail instances. It was decided among the development team
that it was in the best interest of the project to overprovision cloud resources to prevent any
possible outages or complexity associated with finite computing power. Even with a generous
portion of resources allocated, the monthly operating cost for Leewayz.com is twenty United
States dollars a month. The other expense was the domain name itself, which was already
purchased by Mark Mariscal ahead of the project for $11.34 on a two year term. While it was not
known what the server cost was going to be, it turned out to be affordable.
The method for collecting feedback did deviate from the original design though. Due to the
Covid - 19 pandemic, it was theorized at the time of proposal writing that user feedback would
have to be collected remotely for most test volunteers. In actuality this was not the case. Two
thirds of the test studies were conducted in person. The objective for a tester was to first
complete the signup process as an individual that intended to use the site as a renter. The proctor
18
would ask them to create an account, and complete a rental profile for themselves. This is all the
prompting that a test user would receive. While the tester is accomplishing this objective, the
proctor would record any thoughts or feedback from the test user. The second half of the
evaluation would be similar, but the test user would be asked to sign up and create a room listing
as a landlord. Once the proctor has recorded notes about the trial period, they ask the test user for
any additional feedback or comments about Leewayz.com. The information from all the test
The major deviation from the evaluation plan outlined in the proposal is that google
forms were not used. The value was seen in having a dialogue with the tester to get the most
possible feedback out of each case. A google form, while convenient, would have likely been too
impersonal, and did not offer the opportunity for follow up questions and responses. The medium
for the test evaluations was both in person as well as through online video conferencing so that
each test user can potentially provide the same level of feedback.
The test users were all chosen from a pool of acquaintances from the development team.
A concerted effort was to sample as many demographics of people as possible, considering that
housing is an issue that affects everyone. When it became clear that the test users were all
female, males were brought in to help provide an even perspective. The users represent a wide
array of professions from students, to teachers, from tradespeople to office workers to first
responders. This also ensures that there is a mix of both public and private sector workers. The
one deficit in the test user demographics is the age category. While it is possible that room rental
affects a younger audience more, this can skew the results of the evaluation. Certain thoughts,
criticisms, or comments may not apply, or be in contrary to an older audience. A second study
19
Test results provided numerous insights into the design, and user experience of
Leewayz.com, but only revealed a couple software related action items. The largest bug that was
discovered was an issue with form parsing. Users naturally input the dollar sign “$” when filling
out pricing information. At the time, the program logic did not properly handle string inputs that
could not be parsed into numbers. There was much more said about the design and user
experience. Overall, the test group approved of the design of the website. It was often described
as “clean.” and minimalistic in a good way. As for user experience, the testing yielded a treasure
trove of ideas that the development team had not considered. Users were often skeptical or wary
of the site in the sense that they did not want to submit images, and asked for ways to avoid
doing so in profile creation. A first responder suggested that, due to their unorthodox work
schedule, there should be a method to communicate whether this would be a problem or not.
Numerous users also suggested that the website go through heavy proofreading. Both to weed
out grammar and spelling mistakes, but to also provide more clear instruction.
After the testing and evaluation phase was completed, feedback was converted into sprint
cards for the development team. The development week that followed was spent on
incorporating the feedback to make Leewayz a more attractive product for its users. There was
not any feedback that was contrary to another piece of feedback, so executive decisions did not
have to be made with regards to which path to take. The development team would like to thank
Final Implementation
The final product, Leewayz.com, did not deviate very much from the original design
outlined in the project proposal. The core of the application is a node.js container, which means
that Javascript was the primary development language for the site backend as well as front. The
website layout is written in hypertext markup language (HTML), which cascading style sheets
(CSS) for design. There is a minimal amount of jQuery utilized for a couple specific key
Technology Stack
Leewayz is a cloud enabled application which was a decision made to minimize cost.
AWS offers numerous tiers of cloud service, depending on what level of complexity the
customer wants to implement. For Leewayz, the development team selected Lightsail, which
model. Lightsail is not too simplified that it cannot be converted to traditional AWS
infrastructure, but also not so complex that beginners find it impenetrable. Given the level of
expertise of the team, this seemed like the correct decision to make. An Ubuntu Lightsail
instance was chosen due to Ubuntu’s familiarity, and ease of use. Registration for AWS and the
The AWS server runs several Docker containers. Docker is a technology that allows
applications to share the same compute resources, while still being isolated via namespacing.
The advantage of Docker is that it allows the team to implement infrastructure as code and
21
ensure consistency, while removing the need to manually configure applications on the server.
All of the containers are orchestrated with a simple Docker Compose file. Docker Compose is a
configuration system that operates and links all the containers automatically so that the
development team does not have to. There is a Docker container for the router Traefik, the
Traefik’s primary function for Leewayz is as an edge router. All requests for
Leewayz.com first arrive at the Traefik container. Traefik then processes the request and sends it
to the appropriate service container, which in this case is Leewayz. The Leewayz container is
generated by a very brief, seventeen line text file. The text file pulls in all software dependencies,
and launches the node.js application on Alpine Linux. The last container, MariaDB, is an
off-the-shelf solution. Docker hosts numerous applications to expedite the development process.
MariaDB was chosen because it is an open source system based on MySQL, a database
technology the team was already familiar with. The below diagram illustrates the infrastructure
architecture. It is through this use of Docker containers that Leewayz can adopt a microservices
architecture as described in the project proposal. A critical failure in the application or database,
would not damage the other. Docker instead will automatically restart the crashed service, and
Deployment
Secure Shell (SSH) is used to communicate with the server. New code is transferred to
the server through the use of Github. Once code is checked into the master branch on Github, a
member of the team logs into the Ubuntu server, uses git to fetch the latest versions of the
infrastructure and application repositories. Taking the server down for maintenance, and
restarting the newly updated application only requires two terminal commands due to the
application’s use of Docker Compose. This allows the Leewayz team to rapidly iterate and
incorporate changes into the production environment. The AWS Ubuntu instance persists all data
supplied by the users. This data primarily consists of uploaded images and the state of the
database itself.. This volume persistence ensures that customers never lose their data, which
Database
The database schema is composed of three tables. There is a master table for users. This
table stores data that is common among all users of Leewayz.com. User primary keys serve as
foreign keys for the two remaining tables. The second table stores renter profiles. These profiles
are used when a user is using Leewayz to locate a place to live. Since each user should only have
one renting profile, the users and renter tables have a one to one relationship. The last table
stores information for each listing. As before, the id of the user that owns the listing is used as a
foreign key to link all the tables together. Since a user is allowed to have multiple listings on
Leewayz.com, the listings and users tables enjoy a one to many relationship.
Session data, in conjunction with database queries, are used throughout the website to maintain
the state of the user experience. The database itself does not house any image data. Instead, files
24
are stored directly on the filesystem of the application container, which in itself is a mounted
drive from the Ubuntu Lightsail instance. What the database does store, is the file path to image
the Development Team’s familiarity with Javascript, but there are other advantages as well.
Node.js is a modern, in-demand technology so developing that skill set is valuable in the
marketplace, and there are countless resources available on the subject that should help be
needed. Leewayz takes advantage of several software packages to add features that there would
normally not be time to develop. Some of the major inclusions are the web framework
Express.js, Bcrypt for password hashing, and EJS for website templating. The before mentioned
dependencies were planned before the start of the project. Multer, which is a package used for
file image uploads, is the major package that was unplanned. There was a substantial amount of
time invested to learn how to effectively use the package to provide features to the site.
25
Credentials for the database connection are pulled in from environment variables in the
interest of security. It is not good practice to hard code passwords into the application. Database
connections are offered up from a pool of connections, so that they can be reclaimed once the
user is done with them. A whole class of functions are written for database operations. Most of
these queries are simple and search for table data based on a primary key, as the site currently
does not require more complex searches. These queries are keyed with session data created for
The rest of the application is composed of a series of routing functions. “GET” and
“POST” methods to each universal resource location (URL) receive their own function that
implements the necessary logic, and then routes to the appropriate HTML file. Any data that
needs to be supplied to the template is also supplied at this time. The site collects a sizable
amount of personal data, as renting and leasing is a personal human activity. As a result, most of
the routes are “POST” routes to conceal any user information in the URL. Since database queries
are often performed, the majority of functions have asynchronous components to prevent bugs
On top of the Node.js code, the application also houses all of the HTML templates, as
well as some design images and a CSS file. Packaging the application into a container requires a
brief Dockerfile with only eight commands inside. The site is explicitly run in production mode
on top of Alpine Linux, a distribution that is popular for Docker containers due to its lightweight
What Changed
Early on in the project, the first deviation from the proposal occurred. Originally the plan
was to use React Javascript Library for the application front end. One of the team members had
done research and development using React on their own time, and found it favorable. The
perceived benefits were that it was easier to make more complex and professional looking
websites quicker using React as opposed to styling HTML traditionally. When it came time to
work on the project, it became clear that the time investment to get the rest of the team up to
speed using the React Library was something that could not be afforded. The decision to
abandon React was made quickly and early enough that it did not hurt the project.
The other major implementation change was on the website infrastructure. Originally the
intention was to perform a manual set up using AWS EC2. This decision was mostly academic in
28
nature. At the time, it seemed prudent to build infrastructure knowledge from the bottom up, as
more manual task. The plan was to assign AWS resources through the web console, and then set
up a web server, most likely NGINX, using these manual methods. While the intention was
great, this deployment strategy was not practical on an aggressive timeline. It should be
mentioned that the first deployment of Leewayz.com was launched in this fashion using an AWS
Ubuntu Bitnami server. An industry professional suggested looking into containers as a solution
to this problem. Christopher Piwarski spent a morning doing research and development, and it
Both of these changes to the proposal occurred very early in the timeline of the project.
As a result, there were no negative ramifications for the change in strategy. The Development
Team did very well to identify key problems with the initial design of Leewayz, and pivot to a
viable alternative. The Team’s success in this regard led to the success of the project overall.
Conclusion
Leewayz believes that housing should not be a privilege for people but a right. As we
look today at the housing crisis specifically in the Bay Area, we see many people struggling to
put a roof over their heads. Leewayz saw this as an opportunity to not just speak about the
housing crisis, but to do something about it. The idea of a place where people could be able to
seek out rooms on a trusted platform would be a start in the right direction. Though there are
other platforms that help users find housing, such as Zillow, Redfin, and Trulia, none of these
platforms take into consideration the user who is unable to go the traditional route of finding
29
adequate housing. Craigslist is another platform that allows for users to post about spaces that are
being rented out, but the reputation of Craiglists as not being a safe platform has grown over the
years. Leewayz wants to be a strong renting platform that would weed out users who aim to take
advantage of others, as well as consider social factors that make for a harmonious living
environment.
The team wanted to make sure that the design and layout of the website was easy for
users to navigate through. Having a good UI was important and constructed with the thought of
less is more. Having users be able to sign up effortlessly and navigate through the forms to
The collaboration between teammates was the key in making Leewayz become a reality.
The team used google hangout to communicate with each other and used Zoom to have weekly
video check-ins. The main takeaway that the team had on collaboration was that without constant
use of trello, github and google hangouts, completing the project would have taken a lot more
time. Consistency is needed to make sure that everyone knows what each other is doing on the
project so that multiple people do not work on the same feature which would push back the
timeline needed to complete the project. As the team worked on implementing the features that
were discussed, they realized the advantages of engineering Leewayz as a microservices based
application. The main being that a part of the application can fail without the whole project
becoming inoperable. The future of Leewayz is for the web application to be used in the real
world and to actually gain some online traction to help users find rooms to rent in the Bay Area.
30
References
Collatz, Andrea. “5 Big Risks Of Owning Rental Property That Every Landlord Should Know.”
www.mysmartmove.com/SmartMove/blog/5-risks-own-rental-property-landlords-need-k
now.page.
Colorado, M. (2020, February 10). Making It in the Bay: How the Bay Area's Housing Crisis
https://www.nbcbayarea.com/news/local/making-it-in-the-bay/making-it-in-the-bay-how-
the-bay-areas-housing-crisis-spiraled-out-of-control/2230410/
Craigslist Scams to Avoid When Apartment Hunting in San Francisco. (2019, August 13).
https://www.rentsfnow.com/blog/craigslist-scams-to-avoid-when-apartment-hunting-in-s
an-francisco/
Lewellen, K. (2018, September 4). What companies does Zillow own? Hint – there are a bunch.
https://theamericangenius.com/housing/corporate/what-companies-does-zillow-own-hint-
there-are-a-bunch/
https://youtu.be/uDntfAg3nx8
Nehra, M. (2019, October 23). Top 10 Reasons to learn NodeJS. Retrieved May 17, 2020, from
https://dev.to/decipherzonesoft/top-10-reasons-to-learn-nodejs-9ea
31
O’Connell, A. (2014, April 15). When a Roommate Moves Out. Retrieved from
https://www.nolo.com/legal-encyclopedia/when-roommate-moves-out-29520.html
https://www.nolo.com/legal-encyclopedia/overview-landlord-tenant-laws-california.html
Tabatabai, A. (2019, November 14). Where top VCs are investing in real estate and proptech
https://techcrunch.com/2019/11/14/where-top-vcs-are-investing-in-real-estate-and-propte
ch-part-1-of-2/
Thomas, K. E. (2017, April 20). This Is What Housing Discrimination in the U.S. Looks Like.
https://nextcity.org/daily/entry/housing-discrimination-us-report
Vaughan-Nichols, S. (2018, March 21). What is Docker and why is it so darn popular? Retrieved
https://www.zdnet.com/article/what-is-docker-and-why-is-it-so-darn-popular/
Volpe, A. (2018, August 15). The Strange, Unique Intimacy of the Roommate Relationship.
Retrieved from
https://www.theatlantic.com/family/archive/2018/08/the-strange-unique-intimacy-of-the-r
oommate-relationship/567296/
32
Appendix A
Focus Group Feedback
https://docs.google.com/document/d/1ZjL-3qWEQ1qNMFiCUskgQWwUSJfZwmRfaWMsJ1Iff
Yw/edit?usp=sharing
Appendix B
Team member roles and responsibilities and the division of work
Mark Mariscal: Mark worked on both the front and back end of the web application.
Mark implemented and designed the front-end of the Leewayz web application. Mark
also worked on the back-end of the web application by working specifically with the npm
Multer package to get users images into a disk storage, saved to the database and
rendered to the front-end of the web application. Mark also worked on MYSQL queries
for the database so that users could find renter profiles and listings by their city or Zip
CODE.
Christopher Piwarski: Christopher started the project by developing the infrastructure.
These responsibilities were a grab bag of tasks that required the configuration and
administration of a wide array of services. This involved configuring the cloud resources,
and linking them with the domain server. All server operations, including new feature
architecture via the use of Docker containers as well as orchestrating the containers, were
33
infrastructure project. With these tasks complete, Christopher also contributed to the
Wais Robleh: Wais worked primarily on the backend of the project. He particularly
designed the authentication system for users to stay logged in during their sessions. Used
database leaked. Also worked on various front-end issues as they arrived. Continuous
Appendix C
Photo of our Trello board
34