Final Project for Python-Is-All-You-Need Summer Course
- Prarthan Vijeth: PES1UG19ME131
- Aadeesh Jadishkumar: PES1UG19ME001
- Arvind Krishna : PES1UG19CS090
❯ tree -a
.
├── __pycache__
├── author
│ ├── __init__.py
│ └── __pycache__
├── book
│ ├── __init__.py
│ └── __pycache__
├── borrow
│ ├── __init__.py
│ └── __pycache__
├── student
│ ├── __init__.py
│ └── __pycache__
├── Dockerfile # Docker configurations
├── .env # To contain info about the flask app and DB URL
├── libconfigs.py # configurations files for the server
├── microservice.py # The load balancing server
├── postman.json # The postman collection of all the API calls available
├── requirements.txt # pip installations
└── scripts.sh # Single bash script to run the entire program in docker- Installations:
- Python3, Docker, git, mongod & Postman
- Clone the repository using
git clone git@github.com:ArvindAROO/Python-Is-All-You-Need.git - Install dependencies with
pip3 install -r requirements.txt - Create a
.envand add
FLASK_APP=microservice:microserviceApp
DB_URL="database to url" # or use "mongodb://localhost:27017/"- Run the program using
./scripts.sh
/student/add/Add a student/student/remove/Remove a student/student/change/Update information about student/student/fetch/Fetch Info about student(s)
- A student must have a
SRNcompulsorily - The
SRNattribute must be unique, and is considered as the primary key always
/author/add/Add an Author/author/removeRemove an author/author/changeUpdate information about author/author/fetchFetch Info about author(s)
- A student must have a
author_idcompulsorily - The
author_idattribute must be unique, and is considered as the primary key always
/book/add/Add a Book/book/removeRemove a book/book/changeUpdate information about book/book/fetchFetch Info about book(s)
- A student must have a
book_idcompulsorily - The
book_idattribute must be unique, and is considered as the primary key always - The
author_idis an optional attribute,- Leave empty if required
- But if mentioned, it should already exist in the
author-colcollection
/borrow/add/Borrow a book/borrow/remove/Return a book/borrow/fetch/Fetch Info about current borrowing(s)
- A student must have a
borrow_idcompulsorily - The
borrow_idattribute must be unique, and is considered as the primary key always book_idis a compulsory attribute which must refer to an existing book in the librarySRNis a compulsory attribute which must refer to an existing student
- All the modules are split into individual files for development & maintenance purposes
- All the modules are independent of each other with no cyclic dependencies/imports
- Issues with Monolithic architecture have been resolved
- The entire software is dockerized to enable faster integration and delivery
- The development and deployment process has been smoothed