It's not simple to build a website from scratch. It requires a lot of skills, experience and do many steps. For example, to build a website from scratch you will use 5 basic programming languages during doing that job. Web developer must be experienced in all of them. Specifying the steps for creating the project will save much time and effort. The website project is divided into 2 main sections (Administrator Panel – Visitor Interface).
A) Preparation:
Preparations for Administrator Panel start with analyzing the system and the information needed to be added to the website. This analysis includes the type of these information (Text, Images or Videos) and it shall be displayed (Text only, Text with photo or text with multiple photos ... etc.) and specify all protentional cases.
Visitors interface is built after specifying the website initial layout. Every website contains main sections in its layout (Header – Body – Footer) and each of them has many patterns and sub sections. In addition to choosing colors suitable for company logo and the displayed content.
B) Development:
Depending on the information provided from the system analysis performed in the previous step, our developers will be able to create a database that can index all this information and make sure it’s being fetched correctly when needed. Then they’ll start coding the Administrator Panel which will allow the system administrator to control all the website sections from A to Z. We perform many important tests to make sure all permissions and functionalities are working as expected. After the Administrator Panel is finished, the website now is considered ready for the latest step, which is working on the visitor interface.
After specifying the visitors interface layout highlights, the designers and front-end developers will start coding the interface and add browsing links in necessary positions which also will facility reaching the required information by the visitor and display the content in a way that will show all information and features organized. The hardest challenge is the necessity to keep following up the stored information and use all protentional cases during writing that content to make sure it’s compatible with all browsers and screens dimensions (Laptops, Tablets and Mobiles).
We start publishing the website in famous search engines after the content is added. The website is also being prepared for accepting visitors (Human and indexing crawlers).
C) Testing/QA:
Manual Testing: The goal is to uncover any issues in the functionality and usability. First We’ll take some time to brainstorm scenarios that a user can perform while using any function or feature in the website. All these scenarios will be added to a test plan for this function or feature to make sure they have fully successful results.
Integration Testing: This test focuses on the interaction between software layers with each other’s. We have three main layers (Interface Layer – Application Layer – Database Layer). This test always performed during development and test phase to see how the software reacts to certain function or feature.
Security Testing: This test expose problem in the application that can either cause it to behave in unexpected ways or stop it from working.
Security testing covers:-
Cross Site Scripting.
SQL Injection.
Broken authentication and session management.
File Upload flaws.
Caching Servers Attacks.
Security Misconfigurations.
Cross Site Request Forgery.
Password Cracking.
Skills & Programming languages required:
HTML: Main programming language to create websites. It’s the language understood by browsers to display content and define the website main layout.
CSS: Programming language used to define colors, dimensions, fonts and it’s responsible for beautifying the raw content in HTML code. We also can use assistant libraries and frameworks like Bootstrap, Font-Awesome … etc.
JavaScript: It can perform many functionalities, but mainly is interacting with visitors, change content and send/receive information between user and server according interactions from visitor.
MySQL: Database engine, and it’s the digitalized version of work books where all business information is stored.
PHP: Main project code engine which connect all other 4 programming languages together. It can insert, edit and delete information from database and convert it to HTML format that internet browsers can read.
Photoshop: Used to edit and enhance photos displayed in the website.
SEO: Optimize website content to enhance its search engines visibility.