Starting a website or online store for beginners

Software Requirements

You really don’t have to learn programming languages to start a simple website, blog, online store with basic features, etc. in most cases; you can use popular ready made software like WordPress, Joomla, Drupal, phpBB, OpenCart, WooCommerce, MediWiki, etc. to build something that suits your basic needs. Most of the software listed in this page are open source and free, which means you don’t have to pay to use.

Using ready made software may have it’s own limitations (you have to streamline your business processes according to the features of the software); and if you really need something beyond what these software can offer, then you can hire a developer to extend the existing code or build something unique from scratch depending on your requirements. Research thoroughly before selecting a ready made software, including its features, popularity, ease of use, hardware requirements, technical support, etc. by visiting respective sites for real-time demos or install them on your computer.

Getting technical support may be easy for popular open source applications through their own & 3rd party forums, etc, (free and/or paid) but not for all. Ready made software is usually suitable for businesses or individuals on tight or experimental budget.   

Use Case #1

If you need a blog, then you can use a open source & free software like WordPress or similar. WordPress is the most popular CMS and powers many millions of websites & blogs. Though WordPress was originally developed for blogs, it can be used for developing websites (you don’t have to write a single line of code); besides there are several free & paid plugins (plugins extend the facility) to extend the functionality. There are more than 50K+ plugins!.

Use Case #2

If you need to build an online store, you can use a combination of WordPress & WooCommerce. WooCommerce is a open source & free e-commerce plugin for WordPress, which can help you setup an online store in no time (again without writing a single line of code). WooCommerce supports many payment methods & gateways, shipping extensions and so on.

Use Case #3

If you want to start a discussion forum, then you can explore software like phpbb, Phorum, etc or use WordPress plugins like bbpress, buddypress, etc.

https://en.wikipedia.org/wiki/Comparison_of_Internet_forum_software 

Use Case #4

If you want to start an online class, then you can explore software developed for LMS (Learning Management System) like LearnPress, Tutor LMS, etc. You may also try ATutor, Moodle, etc.

You can evaluate each of these software by:

  1. Using the Demo provided by respective provider
  2. Downloading & installing the software on to your computer

There are many tutorials offered by each provider and you can find more through blogs, YouTube, etc.

If you are looking for a fully functional software including design as per your requirements or just a design (mostly at an affordable price), then you may search for website designs, web applications, Android apps, iOS Apps & more at:

Big Deals

If you want start a business like taxi rentals, food delivery, marketplace, etc. then it is recommended to contact a technical expert as the software has to be tailor made according to the business requirements (unless you really want to copy an existing business model and there are ready made software available for that particular business).

These kind of applications have complex procedures behind the scenes which has to be well-planned and developed (you will require business specialists who can advice you on the work-flow, business problems & solutions, market potential, strategies, etc. apart from technical experts).

Custom Software

If you need specific functionalities & design that is suitable for your business, then you can consider developing your own software. You can also develop a software with minimal & required functions/design as per budget and then extend arms & wings as you grow but that’s something which you will discover as you discuss with experts.

Though there are a wide variety of technologies available, selecting a programming language and required tools depend on factors such as a) technical competency available in a market, b) cost incurred towards initial development and long-term maintainance, c) technical infrastructure required and so on. You can either define your business requirements to a developer or development firm, and you can choose a technology that is widely implemented (so it will easier to find developers and overall cost may reduce due to competition).

Domain Extension

Choosing a domain name

 

As the first step, you have choose a name for your website; choosing an attractive domain name can be simple or difficult depending on various factors. In general, a domain name:

  • Represents your brand.
  • Unique names for identifying a website on the Internet.
  • Can be a combination of letters, numbers & hyphen (Other characters are NOT allowed).
  • Is Not CASE-SENSITIVE (domain.com is SAME as DOMAIN.COM).
  • Can be 3 to 63 Characters in length excluding extension such as .com, .net, etc.
  • Can be booked for 1, 2, 3, 5 or maximum up to 10 Years.
  • Can be different than your company name (as you prefer).

Domain Name Suggestions:

  • Select a name that best represents your company/brand/business/product/service.
  • Consider a memorable & fancy name that visitors can remember.
  • Avoid using popular brand or company names.
  • Consider new TLD’s (extensions) if common extensions are NOT available.

TLD’s

Gone are the days where there were limited Top Level Domain extensions causing limitations to find a good and memorable domain name. You can choose from over 800+ extensions (and more coming up), rather trying to pay a huge amount for a name that you wish (or trying to coin memorable domain names). For example you may use abc.fashion if abcfashion.com is reserved.

Domain Extensions Reference:

  1. https://en.wikipedia.org/wiki/List_of_Internet_top-level_domains
  2. http://data.iana.org/TLD/tlds-alpha-by-domain.txt

Note: Do NOT worry about www. Part, as you can choose to run a website with or without www. (it is under your control). You can have the website like https://abc.fashion or https://www.abc.fashion depending on how you would like to set it up. Most importantly, stick to either one of them as both will be treated as two different websites (use https://abc.fashion or https://www.abc.fashion from the beginning and not switch as it will affect SEO). It is recommended to use https://www.abc.fashion.

Sub-domains

Sub-domains are useful particularly when you need a website that need to have sections targeting different kinds of users or specific purposes, for example: mail.yourdomainname.com for web mail access, employee.yourdomainname.com for employee access, etc. You can have 16777216 sub-domains, at no additional cost, as it is controlled by the domain owner.

Cost

Domains are priced depending on the name, extension, availability & tenure by most service providers. Some vendors may offer domain name free for first year along with an hosting package, and recover domain name charges through renewals. It is recommended to check the pricing for domain name(s) through different providers for 1, 2, 5 or 10 years tenure before placing an order.

Shared, VPS, Dedicated Server or Cloud Hosting

Setting up a technical infrastructure on your own can lead to increased costs; this include costs towards server hardware, Internet connectivity, technical & administration support personal, security measures, power supply, office space, staff costs, etc.

Leasing technical infrastructure can simply processes, costs and reduce technical efforts (if it’s a start-up business, then it is much easier to lease a server than owning one). Depending on the complexity of your software application, you may choose the required hardware to run the software smoothly. On the other hand, having your own technical infrastructure can reduce costs on long term – particularly when you have hundreds of servers, if you prefer keep everything under your direct control and so on.

In general if you are planning to have:

  1. a very simple website and expecting minimal traffic, then shared hosting should be sufficient.
  2. a bit complex and/or higher demanding software & moderate traffic, then you may choose VPS.
  3. a highly complex software and/or expecting large number of visitors, then settle for a dedicated server.
  4. a website that is expected to grow exponentially, then go for a cloud based solution.

Shared Hosting: In shared hosting environments typically tens to hundreds of websites are stored on a single server, sharing resources. Usually shared hosting plans are affordable depending on the provider. Some providers allow limited usage (referred to as “metered” usage) and may not allow large number of visitors, which may be documented under their terms. It is recommended to contact pre-sales or similar to know limitations particularly if it’s mentioned as “unlimited” or “unmetered”. Some hosting providers may allow 1k to 25k visitors a month even in shared hosting as they may be running over a powerful hardware.

VPS Hosting: Ideally you should go for VPS hosting if you prefer assured resources and it is suitable for websites/online stores that expect medium to large number of visitors. VPS hosting is comparatively expensive to Shared Hosting plans.

Dedicated Servers: If you are expecting large number of visitors (heavy load scenarios), then it is recommended to go for a dedicated server. You can either a) purchase a server with your own technical specifications and co-locate the server to a data center (co-locating a server is an affordable method rather trying to setup your own infrastructure for a web server) or b) you can rent a dedicated server from one of the providers. Dedicated servers vary in cost depending on various technical & other factors.

Cloud Hosting: Cloud hosting is elastic in nature; meaning, they scale as you grow and you will pay based on usage. Setting up cloud hosting may be difficult (similar to VPS, Dedicated) for beginners as it requires certain level of technical expertise.

Options

  • Shared Hosting > VPS Hosting > Dedicated Servers
  • Shared Hosting > Dedicated Servers
  • VPS Hosting > Dedicated Servers
  • VPS Hosting > Cloud Hosting
  • Shared Hosting > Cloud Hosting
  • Dedicated Servers > Cloud Hosting
  • Or you can start with Cloud Hosting (it’s really up to you).

You may also switch to dedicated servers from Cloud hosting. When you switch between different hosting options it may be difficult to migrate data depending on the complexity of the software involved.

Parameters for selecting a hosting plan includes (not limited to):

Disk Space (Storage).

In order to store product images, description, web pages, etc. there should be adequate space on the server. Each product can have it’s own page, each product may have one or multiple images, and so on, which should be considered for determining storage requirements. Audio / Visual content may require large amount of space as compared to images; storage for storing customer data and invoice should also be considered.

For example:

  • No. Of Products: 5.
  • No. Of Images Per Product: 10.
  • Average Size Per Image: 200 KB.
  • Total Storage: 5 x 10 x 200 KB = 10000 KB = 10 MB

Bandwidth / Traffic Allowed

Bandwidth/Traffic provided along with web hosting usually have limitations; this could affect the number of visits per day or month, depending on the plans from the service provider. Unlimited traffic advertised by a service provider usually have it’s own limits but may support 100’s to 1000’s of visits per month. Computing bandwidth requirements may be bit complex, as the visitors may view any number of pages depending on their interest.

For example:

  • No. Of Visitors Per Month: 3000.
  • Homepage Size: 1 MB
  • Bandwidth Required: 3000 x 1 MB = 3000 MB (Megabytes)
  • Bandwidth Required: 3000 / 1000 = 3 GB (Gigabytes)

If a service provider allows 10 GB per month, then it should be sufficient (based on above example).

If a service provider advertises limitations in Megabits per second (not in Megabytes), then you can calculate like below:

For example (approximate calculation for easy understanding):

  • Bandwidth Per Month: 10 Mbps
  • Per Month: 1.25 Megabytes Per Second
  • Per Minute: 1.25 Megabytes x 60 = 75 Megabytes
  • Per Hour: 75 Megabytes x 60 = 4500 Megabytes
  • Per Day: 4500 Megabytes x 24 Hours = 108000 Megabytes
  • Per Month: 108000 Megabytes x 30 Days = 3240000 Megabytes
  • Per Month: 3240000 / 1000 = 3240 Gigabytes
  • Per Month: 3240 / 1000 = 3.24 Terabytes

If you observe, 3.24 Terabytes per month is quite a lot for websites expecting smaller number of visitors (even like 1000 visits a day).

Note: Real-time calculation includes technical overheads and may be slightly less yet still a lot.

If you intend to operate bandwidth intensive services such as audio streaming, video streaming, then it’s better to contact an expert.

Database

If you are running a website developed using HTML/CSS/JavaScript (“static” pages for our reference), then you may not require support for database software. If you are collecting details such as Name, Phone Number & Email address through a popup, then you require a database software to store details. But if you are utilizing a CMS like WordPress, Online Store, etc, then you will require support for database software.

In ecommerce applications, product details such as product name, MSRP/MRP, Selling Price, Variations, etc. are typically stored in a database software like MySQL or Microsoft SQL Server. In general, you can store 1000’s of records in a small database but it entirely depends on factors including number of fields required for each record, number of records and so on. You also should factor customer details, order details, etc. as they will be stored in the database.

You may choose between MySQL or Microsoft SQL (or any other software) depending on the application that you run. For example, WordPress requires MySQL and you should select Linux Hosting as most providers bundle MySQL with Linux Plans. Again hosting providers may limit the maximum database size to 1GB (or 2GB) which may not be sufficient for storing millions of customer & order details (even if you have 100 GB Disk Storage, database limits are different).

Choosing an Operating System

Most of the hosting vendors provide various flavors of Linux and Microsoft Windows. If you are using Microsoft technologies such as ASP, Microsoft SQL Server, etc., then you have to go for a Microsoft Windows based hosting. Similarly, you have to select Linux based hosting if you are planning to use software developed using PHP, MySQL, etc.

It is also important to choose the right flavor of Linux or Microsoft Windows depending on the software you are planning to run based on a) compatibility & performance factors and b) technical expertise required to manage the overall hardware & software (bottom line all costs put together).

Security

TLS / SSL

TLS (Transport Layer Security) or SSL (Secure Sockets Layer) or SSL Certificates refer to digital certificates that keeps communication between a web browser and a web server secure.

Without SSL or TLS, information such as username, password, etc. transmitted over a network is not secure and are prone to eavesdropping (also decreases customers trust and visitors may not leave any details if they find a website not secure).

Most web hosting providers include free TLS/SSL as a part of the web hosting plan, some may offer paid TLS/SSL. A green pad lock appears in the browser for websites that have SSL implemented, indicating the transmissions are secure and working correctly (See image below: Left not secure and Right Secure).

Note: TLS supercedes SSL. Due to wide popularity, the term “SSL” is still being used and advertised.

Data Security

Data security is critical, as details of customers such as customer name, mobile number, email address, order details, etc. are required to be stored. Most web hosting providers have adequate security measures such as physical security, firewalls, proactive monitoring, etc. If you are curious about data security, then you have to contact the service provider to know about the security measures they have in place.

If you are purchasing a dedicated server, you may be offered to lease a firewall and/or additional hardware/software for additional security.

Email Accounts

Rather using free email accounts that may not look professional, you can create domain based) email accounts (for example, yourname@yourdomain.extension). Most hosting providers bundle facility to create email accounts through the control panel.

Factors to consider:

  • Number of Email Accounts that can be created.
  • Size of Each Mailbox, for example 2GB per email account.
  • Support for Security aspects such as TLS/SSL (Secured emails).
  • Support for technologies like IMAP, POP3, SMTP & Web based Mail.
  • Cost per mailbox per Year (If applicable).
  • Support for Anti-Spam & Anti-Virus.

Most hosting providers do NOT allow sending bulk or promotional emails, it is recommended to check their terms.

Summary

We hope you enjoyed reading this article (and found useful).

If you are not comfortable choosing hardware requirements, then it is recommended to contact technical experts who can assist you further in choosing the most appropriate technical infrastructure (make sure you share both short-term and long-term goals so that the estimate is as accurate as possible).

Leave a Comment

Your email address will not be published. Required fields are marked *