DEV Community

Cover image for How to think while building Web Applications
Kritika Srivastava
Kritika Srivastava

Posted on

How to think while building Web Applications

Hello, Dev Friends."How to think while building Applications?"This is the question I didn't know how to approach in the beginning.While creating applications when learning web development we often get confused about what features to add and what not to.So here I will give you an example of one of my perspectives which I learnt:

1.You are trying to solving a real problem:

Suppose you want to create an E-commerce/Clothing store application.You have to think about it irrespective of the technology first.Forget about React or JavaScript,imagine your friend wants to have her/his online Clothing store.So here you are trying to solve a real problem and not just build an app.

2.Mandatory features:

Now think about the mandatory features required for the app.
You will need:
1.A landing page with the description about the product and its picture
2.User login feature
3.Display page of products
4.Facility to add the products to cart
5.Cart page to increase,decrease amount of products,remove products
6.Online payment facility
7.Physical address of store if available or the concerned address with contact details of store owner/team.
(Add more features if you can think of any)

3.More Features:

1.In a landing page you can add featured products,photo gallery of products,services provided,footer with social media contacts.
2.Contact form for the customers or the feature to subscribe to regular newsletters.
3.About page of the clothing store.
4.Detailed product page with customer reviews,stock details,color,size,star ratings and more details about the single product.
5.Facility to search for products.
6.Feature to filter,sort the products.
7.Countdown timer for special sale.
8.Random fashion quotes on product page.

Example project:Github Repository Link
Alt Text

You can add as many features as you can think of.After finalising the features,plan your designs,technical logic,libraries,tools you will need to complete your project.

You can also refer to tutorials for features and then implement in your own application.But think like you are solving a real Business problem instead of thinking that you are building an application in React or JavaScript.

Let me know about your approach in comments section.

Happy Coding :)
You can follow me on Twitter and Github.

Top comments (9)

Collapse
 
anand_sourabh_9d93af9428f profile image
Anand Sourabh

That’s great thought process. In a real large scale app, duties would be segregated. Your 1,2and 3 would be managed by a separate product team that writes these requirements agnostic of choice of technology. These requirements will translate into user stories that would be executed by tech teams.

Collapse
 
z2lai profile image
z2lai

That's the unfortunate part. In order to get a developer job, you need to first take on all these responsibilities in order to build an application for your own portfolio. Then once you get the job, these skills will no longer be necessary. It's like you need these skills in order to get a job that doesn't require these skills lol.

Collapse
 
rubyrubenstahl profile image
Ruby Rubenstahl

This is where I'm at. I'm the sole developer working at a company building an IOT device, and I'm doing everything from speccing hardware to frontend/backend coding to managing the production servers. It's definitely overwhelming to gain the knowledge to work on every layer of the project.

Collapse
 
nabilafzal profile image
nabilafzal19

That's actually a great way to make projects

Collapse
 
thycreativity profile image
ThyCreativity

Nice notes thank you for sharing

Collapse
 
ipapoutsidis profile image
Ilias Papoutsidis

Simple and smart approach.

Collapse
 
chacalonchacaloso profile image
Paul Cortes

WOW, thinking in how to resolve problems

Collapse
 
igadget777 profile image
Brett S.

Great read. Thanks.

Collapse
 
kinetic9 profile image
Bongani

Thanks for this wonderful insight πŸ™πŸ½