/puppy.io

Application for the adoption of dogs ๐Ÿถ

Primary LanguageDart

Puppy.io

Status GitHub Issues GitHub Pull Requests


Application heliping with dog adpotion

๐Ÿ“ Table of Contents

๐Ÿง About

The purpose of the application was to create a tool to help adopt dogs. Users can add adoption offers, view them, and communicate with the person offering the offer (by sending email). Application supports two language: Polish/English

๐Ÿ Getting Started

Mobile app

First run:

  1. Install Flutter 2.5.3 (Dart 2.14.4)
  2. run flutter pub get
  3. run flutter run

Backend app

Develop it locally

To prepare your shell for development run:

virtualenv .env
source .env/bin/activate
pip install -r requirements.txt

To run unit tests run:

pytest

To run the app locally run:

export FLASK_APP=app.py
flask run

# or
gunicorn app:app --log-level=info

Before creatin PR, update the requirements.txt file and the runtime.txt file!

Keep the requirements.txt as minimal as possible

pip freeze > requirements.txt

# Check the Python version to update the runtime.txt file
python -V

๐ŸŽˆ Usage

Registration & login

  1. Open app
  2. Register if you haven't had an account before or log in if you have already created an account. When registering, please provide your e-mail, username and password.

Searching offer

  1. Log in to the application
  2. Choose the filters you are interested in

Displaying offers

  1. Log in to the application
  2. Choose the filters you are interested in
  3. Click search

Displaying offer details

  1. Log in to the application
  2. Choose the filters you are interested in
  3. Click search
  4. Click on offer card

Contact with user by email

  1. Log in to the application
  2. Choose the filters you are interested in
  3. Click search
  4. Click on offer card
  5. Press contact with owner

Add offer

  1. Log in to the application
  2. Go to create new offer page
  3. Add data about the dog
  4. Publish your offer!

Edit offer

  1. Log in to the application
  2. Go to settings
  3. Find the offer you want to edit
  4. Edit data about the dog
  5. Update your offer!

Display user profile

  1. Log in to the application
  2. Go to settings

๐Ÿš€ Deployment, host it on Heroku

To push commited hanges to Heroku run:

git subtree push --prefix backend heroku master

To recreate Heroku app in case of some crush or bad master branch rebase run:

heroku create # After that rename created app to "puppy-io-backend" in the Heroku dashboard
git remote rm heroku # Only if you already have heroku remote in the repository
heroku git:remote -a puppy-io-backend #
git subtree push --prefix backend heroku  master

โ›๏ธ Built Using

โœ๏ธ Authors