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
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.
Top comments (9)
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.
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.
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.
That's actually a great way to make projects
Nice notes thank you for sharing
Simple and smart approach.
WOW, thinking in how to resolve problems
Great read. Thanks.
Thanks for this wonderful insight ππ½