Pet Hero is an open-source project aimed to bring pet lovers together with animals who need loving homes.
Contributions to this project are welcomed and appreciated, we just ask that you abide by the code of conduct. If you'd like to contribute to this project, please read the contribution instructions.
Clone this repository and while in the root directory of the project folder run the npm install
command in the terminal to install the server dependencies.
Once installation has completed, cd client
to change into the client directory and run npm install
to install the client dependencies.
Return to the project root directory with cd ..
and run the command npm run dev
to start the development server on http://localhost:8080
The minimum viable product (MVP) describes the early stages of development to which the project satisfies the most basic functionality requirements.
-
Frontend
- Logo
- Icon Packages
- Static Website
- Home Page
- Search Page (dummy data)
- About Page
- Contact Page
-
Backend
- Basic Server
- HTTP Routing for static pages
- REST API Endpoints
- Connection to external API(s)
- Basic Server
-
The interface will:
- Display a primary call-to-action
-
Users will be able to:
- Search for animals to adopt
- By entering their zip code (?)
- By filtering results by animal species, breed, age, color, and location.
- View individual animal "profile" pages
- Create a user account (via social media?)
- Save favorite animals
- View favorited animals
- Connect with shelters housing animals
- Share animals to social media outlets in need of adoption
- Share lost animal flyers to social media outlets
- Search for animals to adopt
-
The application will:
- Use an API of aggregated data of animals in shelters across the United States
- Interface with a database to save users:
- Favorited animals
For now we will keep this basic. HTML and CSS on the frontend with a NodeJS server running Express on the backend.
Future Improvements:
-
Frontend
- React + Redux
- Styled Components
- Babel
- Webpack
-
Backend
- REST API
- Isomorphic/Universal Rendering (?)
- MongoDB or Postgres (undecided)
- Mongoose or Sequelize (undecided)
Progressive Enhancements:
- Service Workers (offline enabled)
- Client-side caching strategies (IndexedDB?)
Christopher Gates |
Ryan C. Martin |