diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..7780e68 --- /dev/null +++ b/readme.md @@ -0,0 +1,37 @@ +# A dog a pet +#### Video Demo: +#### 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. \ No newline at end of file