# DOCUMENTATION: HOW TO CREATE A WEBSITE
In this document, I will walk through the process of using a commercial HTML template to customize a website. This method is a great option for those who want to create a professional-looking website quickly and with minimal coding experience.
### <span style="color:#3498DB">Step 1: Purchase and download the HTML template </span>
The first step is to purchase and download the HTML template of your choice. There are many websites that offer commercial HTML templates, such as [ThemeForest](https://themeforest.net/?gclid=CjwKCAiA5Y6eBhAbEiwA_2ZWIeXQLW0T608tveFBUOckBqrp9PaU6Lgw_wOxUHkJ7ZzGB5PR48HZoBoCXncQAvD_BwE), [TemplateMonster](https://www.templatemonster.com/?aff=TM&gclid=CjwKCAiA5Y6eBhAbEiwA_2ZWIXNRC-VysbizxRUBWM6zuKtOC5I1a7Q1SgkwyVTUJidWnDrdXNvaxBoCiLEQAvD_BwE), and [Creative Market](https://creativemarket.com/?utm_source=google&utm_medium=cpc&utm_campaign=PPC_GOOG_Search_US_Branded_ExactMatch&utm_content=609654025800&utm_termcreative%20market&gclid=CjwKCAiA5Y6eBhAbEiwA_2ZWIQL-ZOfyWRbLny9oqySz-evFTrGocIQwyvwDdEISLqbLvATMDipzRRoCJDsQAvD_BwE). Once you have selected a template, you can purchase and download the files.
### <span style="color:#3498DB">Step 2: Extract the files </span>
After downloading the files, extract the package and you will see the various files and folders included in the template. These files will include the HTML, CSS, and JavaScript files, as well as any images or other assets that are used in the template.
### <span style="color:#3498DB">Step 3: Customize the template </span>
Once you have the files, you can start customizing the template to suit your needs. This may include changing the text, images, and other content, as well as modifying the layout and design. You will need a code editor, such as Atom, Sublime Text, or Visual Studio Code, to make changes to the HTML, CSS, and JavaScript files.
### <span style="color:#3498DB">Step 4: Test your website </span>
Before publishing your website, it's important to test it to make sure everything is working properly. You can do this by opening the HTML files in a browser and previewing the website. Make sure to check all the links, forms, and other interactive elements to make sure they are working as expected.
### <span style="color:#3498DB">Step 5: Publish your website </span>
Once you are satisfied with your website, you can go ahead and publish it. You will need a web hosting service to host your website. Popular options include Amazon Web Services (AWS) CloudFront, Bluehost, HostGator, and SiteGround. Once you have signed up for a web hosting service, you can upload your website files and make it live.
I chose Amazon Web Services (AWS) CloudFront to host the website. CloudFront is a content delivery network (CDN) that enables you to distribute your static and dynamic web content across multiple locations, ensuring fast and reliable delivery to users.
#### <span style="color:#E74C3C">Step 5.1: Create an AWS account </span>
To use AWS CloudFront, you will first need to create an AWS account. If you don't already have one, you can sign up for a free account at https://aws.amazon.com/
#### <span style="color:#E74C3C">Step 5.2: Create a CloudFront distribution </span>
Once you have an AWS account, you can create a new CloudFront distribution by following these steps:
- Log in to the AWS Management Console.
- Go to the CloudFront service.
- Click on the "Create Distribution" button.
- Select the "Web" delivery method.
- In the "Origin Domain Name" field, enter the domain name or IP address of the server that is hosting your website.
- In the "Default Cache Behavior Settings" section, select the options that are appropriate for your website.
- Click on the "Create Distribution" button.
#### <span style="color:#E74C3C">Step 5.3: Configure your DNS settings </span>
After you create a CloudFront distribution, you need to configure your domain name system (DNS) settings to point to the CloudFront domain name. You can do this by creating a CNAME record in your domain registrar's DNS settings that maps your domain name to the CloudFront domain name.
#### <span style="color:#E74C3C">Step 5.4: Upload your website files </span>
Once your DNS settings are configured, you can upload your website files to the origin server that you specified in step 2. This can be done using an FTP client or by using the AWS S3 service.
#### <span style="color:#E74C3C">Step 5.5: Test your website </span>
After uploading your website files, you should test your website to make sure it is working properly. You can do this by visiting your website's URL in a web browser. You should see the same website that you uploaded to the origin server.
#### <span style="color:#E74C3C">Step 5.6: Purchasing a website domain name</span>
Purchasing a website domain name is a simple process that can be completed in a few easy steps.
- Choose a domain registrar:
A domain registrar is a company that manages the reservation of internet domain names. Some popular options include GoDaddy, Namecheap, and HostGator.
- Search for availability:
Use the registrar's website to search for the desired domain name. If the name is available, you can proceed to purchase it. If the name is already taken, you may need to consider alternative options.
- Complete the purchase:
Once you have found an available domain name, you can proceed to purchase it by providing your personal and billing information.
- Set up DNS: Once your purchase is complete, you will need to set up DNS (Domain Name System) to link your domain name to your website's hosting. Here, I used AWS CloudFront.
- The cost of purchasing a website domain name can vary depending on the registrar and the type of domain name you choose (e.g. .com, .net, .org). On average, a .com domain name can cost around $10-15 per year, but prices can vary from $1 to $100 or more per year. Some registrars also offer bulk discounts for purchasing multiple domain names.
#### <span style="color:#E74C3C">Step 5.7: Monitor your CloudFront distribution </span>
Once your website is live, you should monitor your CloudFront distribution to ensure that it is performing as expected. You can do this by using the CloudFront metrics and graphs in the AWS Management Console.
#### <span style="color:#1ABC9C">AWS CloudFront cost budget</span>
Here is an example of a cost budget for using CloudFront to host a website:
CloudFront Distribution: $0.085 per GB for data transfer out and $0.01 per 10,000 HTTP and HTTPS requests.
Data Transfer In: $0.09 per GB.
Origin Access Identity (OAI): $0.00 for the first 10,000 requests per month, $0.005 per 10,000 requests thereafter.
Custom SSL Certificate: $600.00 per year (if using a custom SSL certificate)
CloudFront Invalidation: $0.005 per invalidation request.
CloudFront Regional Edge Cache: $0.01 per GB for data transfer out.
It's important to note that these costs are just estimates, and actual costs will depend on the specific usage and traffic of your website. Additionally, you might need to pay additional cost for services that you use with CloudFront such as S3, Lambda, or any others that integrates with CloudFront. It's recommended to monitor your usage and cost regularly, and to use the AWS Cost Explorer for better visibility and cost optimization.
### <span style="color:#3498DB">Conclusion </span>
Using a commercial HTML template is a great way to create a professional-looking website quickly and with minimal coding experience. With just a few steps, you can purchase and download a template, customize it to suit your needs, test it, and publish it to the web. In addition, AWS CloudFront is a powerful and flexible content delivery network that can help you deliver your website to users quickly and reliably. By following the steps outlined in this document, you can create a new CloudFront distribution, configure your DNS settings, upload your website files, test your website, and monitor your CloudFront distribution to ensure that it is performing as expected.