FinalList is a web application that enables users to identify their ideal housing option. Users can generate their personalized housing lists based on their inputed parameters such as
- crime rate risk levels and proximity to area amenities (schools, grocery stores)
- recreation space (hiking and biking trails, parks, etc.) that coincide with selected rental or sales ranges *bedroom/bathroom combinations and other housing-related specifications.
Team FinalLists
The members of this group are Sam Feng, Alex Jin, Kieu Lara, Rutuja Ganesh Limaye, and Phillip Wang.
- Sam - Web Developer
- Alex - UI Designer
- Kieu - Product Owner/Project Manager
- Rutuja - Database Developer
- Phillip - Web Developer
- People who are looking for a place to live
- Landloards and proerty owners
- Real estate agents/professionals
- Any user should be able to search by location and property features only
- Any user would be able to input their preference parameters when they open the web app as an added feature
- A registered user is able to save listings, contact housing hosts and access other web features on the web pages
- A user can make a change to their preferences without starting over
- A user can see both a map view and text listings of search results
- A user should be able to sort the listings based on their personalized rankings preference
- Frontend: HTML, CSS, JavaScript
- Backend: Python, Django
- Database: Microsoft Azure SQL
- GitHub
- Google Doc/Slides
- Trello https://trello.com/b/PzPFRTuv/ist303-finalists)
- Distance to certain places, areas, etc...
- Price Preference
- Safety Level Preference
- Purpose: Sell, rent, or buy?
- Location
User stories will be drafted and appropriately scheduled in order to organize related activities throughout this project time-frame. The user stories will center around requirements for what the user interface will include, what the web application ranking options will include, as well as accessiblity to the web application. Data sources will be identified, validated, and documented to ensure that the web application is held up by by realistic data or inferred by real data.
- Stakeholder feedback via survey responses from classmates will be sought. A survey will be drafted and distributed to refine preference categories.
- propertyfinder.ae was suggested for review for ideas.
- Looking beyond API sources was suggested for data sources to ensure un-biased data is used.
- Query on what indexes will be used was brought up to offset implied or direct bias.
- Further exploration on how ranking (1 through 5 versus most importnat to least important, etc.) should be set to ensure the recommendations provided by the search is not too restrictive.
See https://github.com/sammycool04/IST-303-Group5/blob/master/Project%20Hours%20Tracking.xlsx
Agenda Link: https://drive.google.com/open?id=1zvve-Ctsv2qc7kWy-xecymomQILijSlj
-
Install Python 3
- On macOS using Homebrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew install python
- On Linux:
sudo apt-get install python3
- On Windows, download & install from link: https://www.python.org/downloads/windows/
-
Install Microsoft ODBC driver for SQL Server ( for project's database)
- macOS:
brew install msodbcsql17 mssql-tools
- Linux (Ubuntu 19 as example)
#Ubuntu 18.04 curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list sudo apt-get update sudo ACCEPT_EULA=Y apt-get install msodbcsql17 # optional: for bcp and sqlcmd sudo ACCEPT_EULA=Y apt-get install mssql-tools echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc
- Windows, download & install from link: https://www.microsoft.com/en-us/download/details.aspx?id=56567
-
Install Python Virtual Environment
- Windows:
python3 -m pip install virtualenv
- non-Windows:
python3 -m pip install --user virtualenv
-
Create & activate virtual environment (named env)
python3 -m venv /path/to/new/virtual/environment/env source env/bin/activate
-
Clone the project inside virtual environment git clone git@github.com:sammycool04/IST-303-Group5.git
-
cd to the project folder & install required python packages
cd IST-303-Group5 python -m pip install -r requirements.txt
-
Start the project
python manage.py runserver
-
To access the web app, open your web browser, enter: 127.0.0.1:8000
- We use pytest-django, mixer and pytest-cov for our testing
- If you haven't installed the packages, in your terminal, type:
pip install pytest-django
pip install mixer
pip install pytest-cov
pytest-cov
or
pytest
- Identify the most appropriate platform to develop and test your code and house your data as early as possible in the process.
- Refer back to the initial user stories to help stay focused on what drove the development in the first place.
- Have a clear idea of everyone’s roles are and have everyone actively take ownership of those roles but allow for some flexibility as needed in where help can be offered.
- Allow for learning in estimating hours.
- Be flexible in what tools can be used and new ideas.
- Software development is a team effort.
- Agile methods are not always easy to adhere to if all team members are not on the same page, otherwise, staying agile would be effective.