GitHub project page for HomeSweHome.
Welcome all dog lovers! If you are looking to discover a new dog, shelter, or park, you have come to the right place! HomeSweHome is the best new site to find your new best friend! For any shelter in your area, you can find which little buddies are living there. In addition, you can see what parks are in the area for you and your friend to have a great time!
Ensure that you have Python3 and Node/NPM installed. Then run the following commands in the project root:
python3 setup.py install
cd react_app
npm install
npm run buildThis will install all the Python and Node dependencies you need, as well as compile bundle.js
Ensure that you have already completed the "Set Up" step. Commands assume you start in the project root.
Running this command will start the Flask development server:
./run.pyThis makes it easier to debug as well as reloading any files that change in the directories.
If you make changes to the React files, you can recompile the bundle.js by running:
cd react_app
npm run buildIf you don't want to have to do this every time you make a change to the file:
cd react_app
npm run watchThis will lauch a process that continually watches for changes on your React files and compiles
a new bundle.js on save. If you have the server on development mode, the file should be
updated automatically.
Testing is split into 4 categories:
NOTE: many of these tests may not work if trying on a local machine.
This is because you need to have an auth.json that includes authorization information
for all the APIs and databases.
# make sure you have newman installed
newman run Postman.jsonAlternatively, you can load Postman.json into the Postman GUI.
To run:
python3 -m unittest server_testsFirst download a Selenium driver for the browser of your choice.
cd frontend
# edit guitests.py to have the path to your Selenium driver in Chrome
python3 guitests.pyTo run:
cd react_app
npm install
npm run build
npm run testEnsure that you have already completed the "Set Up" step. Then run this in the project root:
./runprod.shThis launches the Flask app in non-development mode, exposed on port 80. Depending on your
permissions, you might have to run this with sudo.