Files
a-dog-a-pet/README.md

1.7 KiB

A dog a pet

Video Demo: Video url

Description:

This project is meant to be the starting point of a pet adoptions web site. It allows users to register, register pets and ask for pets adoption. It also has a contact form which is not fully functional. It has been done using python with the Flask framework and a sqlite database.

General structure:

This app is divided in modules or "blueprints", it consists of a total of 4 modules: Users, Pets, Us and Main.

Users module

The users module resposability is to handle user related actions, as loging in, registering and updating user data, it consists of a couple of views and a User service.

Pets module

Pets module takes care of eveything related to the pets, as listing them and adding new ones, is consists of the pets and the registe pet views and a Pet service.

Us module

This module is intended for the site owners, it has a contact form and an about us view, basically only static assets a little logic.

Home module

Home module holds the entry point to the app, it only consists of a home page view

Models:

This web app uses sqlalchemy ORM, the most important models are users and pets, then there is the logical model adoptions and lookup models like adoption status and pet kind.

Services

User service

It consists of several user realated static methods (no DI in this project), it holds the logic for creating and updating users and loging in.

Pet service

Contains methods for listing and creating new pets, including handling image uploads and usage of Cloudinary sdk.

Utils

Here we can found custom error classes, validation logic, constants and other necessary resources for the project to work properly.