You just took a web development course or you are still learning and was wondering how real world apps are built— this is for you
Congratulations you have taken a course or training in web development and now you ‘know how’ to build web applications. Fortunately, you got your first real gig and you are puzzled with the thought of how and where to start.
Well I have listed for you six (6) steps that will get you started on the journey. After all, a journey of a thousand mile begins with a step.
1. Gather Requirements
As simple as this step is, it is the backbone of all other activities related to building your web application (or any other software). You need to have a full understanding of the entire application, how it will work and what is needed for it to work. You should know:
- What are the features that the app will have ( e.g. authentication, in-app messaging, user role management, checkout page etc.)
- What external services will be needed in the app (e.g. payment integration, API integration, analytics etc.)
- What is the timeline of the application? When are you expected to deliver?
- Are you developing from scratch or you will continue with an existing project in which case you have to understand that project’s requirements as well.
- Who the end-user of the app is going to be and what platform (mobile, desktop, web, bot etc.) will the app be based. An app that is targeted at females is not the same as that targeted at males as end-users. Knowing the end-users and platform requirements will aid you in delivering a tailored app experience.
Advantages of gathering requirements are:
- You will have a common ground with a client. Your client can’t just add feature without expecting a price change. But if you leave the requirements open-ended, you may end up building another google and be paid for creating a blog. Ask experienced developers around you to verify this (and if you have experienced this before, share it in the response below)
- Gathering requirements will give you insight as regard how much work and work-hours will be required to complete the project which will definitely influenced your billing.
2. Visualise the flow of each feature
This will come after the first step of gathering requirement and information about the project. At this stage, you will have to visualise how the features fit together and how you will implement each. For example, you have to know: after a user login, what page will the user see? If login failed, what will be the response message? In a typical, e-Commerce app, you will have something like: user visit page -> see lists of items -> clicks on one -> view full details -> click check out button -> make payment -> update database records -> redirect to index page with success message.
There are tools you can use like the usual flowchart diagram, Database Schema relationship diagram and others, that will help you in this regard (know others? mention them in the response)
3. Implement the features one after the other
Now is the time to do the real coding. Start implementing the features one after the other. You can start from template organization, arrangement of pages, database setup and you move to implementation of authentication flow and so on. As you continue to implement the features, you will realised that some features require other features in place before they can be implemented. For example, you need to have a database set up (and database tables defined) before you can persist any data. Therefore, you need to pivot and implement the required features before proceeding.
4. Use Project documentation (e.g. README.md)
Yep, this is not really compulsory but necessary. It will help you keep track of things yet to be implemented and things that have been done. I usually have a readme.md at the root of my project directory, where I keep track of features, to-dos and side-notes. I also take note of other bits of info like why I rename a class or why I rename a database table. If you are working on an existing project, you can journal how things are in the old projects, what things you have changed and why, for future reference.
If you are planning on creating an open-source project. Having a readme.md file at the root of your project is really more important. This readme.md file is where you will include guides about how to use the project, instruction for intending contributors, change logs and other pertinent information.
Generally, having a project documentation is really a good practice.
Communication is key to project completion, especially when it involves other parties. Whether you are working in a team or working for a client, quality communication keeps everybody abreast about the state of the project. There are tools available that makes communication easier now: slack, Skype, the good old email and others. Use these tools to avoid
conflict in development.
6. Learn and Get it done faster
In Conclusion, these tips will get you started. Once you are on, you will learn more and develop a more personal workflow of web application development. The more you do, the more you know; the more you know, the more efficient you become— its like learning a new language after all.
Thank you for reading my post. Kindly recommend it for others to see and let me know what you think about the post in the response section.