PetLovers Technology Overview
- yli12313
- Nov 12, 2021
- 2 min read
Updated: Dec 6, 2021

For the Minimum Viable Product (MVP), the PetLovers team is going to employ a simple web application that will incorporate the most basic features to get PetLovers up and running. PetLovers is a business, and technology is the medium by which PetLovers will be able to scale and expand to customers all across the U.S. The most important thing is to get the features right and then solicit feedback from customers on what they think about the user interface/user experience and how we can make that better. Some basic features of the MVP that must be included are: customer login/sign-up, products page, payments module, homepage/about us page. Once the features are defined and the tasks delineated, only then can the team think about technology.
For a three tier web application, we need to think about the Frontend Interface, the Backend Server and the Database/Storage layer. For the frontend, we need to think about how to best load up a page when a user asks for one. We need information to be served dynamically and in real-time. The frontend should be modular and easy to manipulate with ideally a template engine. There are many good frontend frameworks, but the team is going to choose Vue.js. Vue.js is a good option given how extensible it is, how easy the design is and how it supports integrations with many other tools. The team does not need a tool that’s super heavy, just something that works.
For the backend, the team is going to use Node.js as the JavaScript runtime engine to direct traffic between the frontend and the database. The API endpoints will be written using the web application framework Express.js. Node and Express are two of the most popular tools to use to build web application backends. They are lightweight, easy to use, and have extensive developer support. The reason Node is great is because of the Node Package Manager (NPM), which has a great set of libraries and resources that developers can use out-of-the-box. This makes development much easier knowing that you don’t need to reinvent the wheel for a lot of software development tasks.
Lastly the team has to think about storing the data in a database. For the MVP, the team is going to employ PostgreSQL to store customer data. This way, the data can be stored in a relational database and then analytics can be performed by the business analysts downstream. To get the data into the Postgres, an Extract, Transform, Load (ETL) pipeline is going to be developed using Python to structure the data and format the data. Data modeling is going to be done to define relationships, entities and attributes. Storing in Postgres is better in comparison to a NoSQL storage such as MongoDB because the data must ultimately be queryable and searchable. Using tools such as SQL would make it much easier for analysts, who may have difficulty working with JSON.
References:
Comments