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

37 lines
1.7 KiB
Markdown

# A dog a pet
#### Video Demo: [Video url](https://www.youtube.com/shorts/PRFRn0t684g)
#### 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.