I played a vital role in the website development that was taken as a POC.
Entire designing and implementation of the website (along with the middleware implementation) was handled by me.
I proceeded into my part of work by keeping the SDLC in mind.
It all started with my PLANNING.
I first gathered some information regarding the different ways I had for developing the website in Python.
And then I came across the 2 most popular frameworks; the Django Web Framework and the Flask Framework.
So now, I had to make a DECISION of choosing one among these two.
As per my knowledge, we need to make decisions taking the customer's requirements plus the company's profit into consideration.
In our case, we neither had company, nor we had customers. But we did have a project and we did have the requirements.
The project was to find out the alternate middleware opensource option for Java.
And the requirement was creating a minimal level website that would serve as a POC by helping us show the alternate opensource usage with some middleware implementation in it.
Keeping the requirements in mind, I went for the Django Web Framework by ANALYZING the following points about Django:
1) It has a conventional project structure.
2) It has an easy code base navigation.
3) It provides access to many tools that will help in the rapid development.
4) It's active developer community.
After this, I stepped into the DESIGN part of the website.
Now, after the basic design was done, all I was left with was the IMPLEMENTATION part.
The MVT architecture, ORM, routing, Razorpay payment gateway API, PostgreSQL and psycopg2 were some of the main parts of the implementation.
I also designed the database schema as per the website requirements. The database was logically divided into 2 parts;
ONE- the part which maintained the data about the users (customers) and the superusers (chefs).
TWO- the part which had the hotel related data like the events, the menu, the items, the orders etc.
Since we have this ORM, I didn't have to write SQL queries, instead I handled the database using the Python classes, functions and the objects. (Thanks to DJANGO).
The design and implementation part will be covered in the part-2.0 of this series.