Building my first server/website. Would love advice

I agree it is very hard to right.
At my school you have to manage your own company for a year, so I built an online shop for that, but it is kinda hacked together with the item info being sent via the URL.

There also is no shopping cart or option to pay online. All you can do is configure your item, enter your shipping info and them be sent a confirmation per email with the price of your item and what bank account to send the money to.

It's nothing that I would use professionally, but it works.

I'll start my response with the development side of things:

I personally use Golang for my server side programming, specifically using the go-macaron library. However, you'll find many prefer using node at the moment, so you have a substantial more amount of libraries and therefor choices using it.

I'm a fan of using SCSS as my CSS preprocessor, and pug as my HTML preprocessor.

Now the hosting side of things.

I would use a DigitalOcean Droplet, as I'm sure has previously been recommended. I would then use NameCheap for domain registration, and CloudFlare as my DNS provider. Using CloudFlare, you won't need to purchase SSL certificates, assuming you use their proxy service. Let's Encrypt is an alternative if you don't want to pay for SSL certificates and don't want to use CloudFlare (you may be interested in acmetool if you go down this route).

On the droplet, or whatever host you use, I recommend using nginx as your reverse proxy. Webmin is really useful, so you may want to use that too. But perhaps I've gone too far with this response, feel free to ask for more advice though.

Best of luck!

I would take tips from these.

Optionally:

If I were you then I would have 2 separate projects:

The first is using a tool such as SquareSpace or Wordpress, etc to create your sisters website. Just due to security and the difficulty of handling payments etc. But this all depends on how complex you want it to be. If you just have a website with pictures and product descriptions but no cart or checkout, instead giving them and email address to hit up if they want to order. Then using a PayPal account to handle transactions. This would be the easiest approach for someone in your position.

The second recommendation is to use a tool made by Adobe called Dreamweaver. I used this a few years ago and it is really handy for building websites for beginners. It is drop and drag, but shows you the code and how it is building it as it goes, you can see the process and begin to get a grip on how it works without having to mess around with coding it yourself from scratch.

Hope this helped to give you an idea or two! I admire the gumption you have to go and do it so good luck!

I work at a web dev company but I myself am not a developer of any capacity (at most I'm a script kiddie with wicked google-fu skills).
I suggest the route most people are suggesting with Wordpress and Woocommerce on a Digital Ocean droplet.
If you are feeling more daring you could go with Drupal and Drupal Commerce but it will take some tweaking and finagling to set it up properly.
Another option would be to go with Magento, but for only a few products it's complete overkill.
I found wordpress the easiest to setup without any hiccups. I've installed and played with all three on my work machine on the ubuntu 14.04 boot on a LAMP stack.

Other open source E-commerce options:

PHP:
Prestashop (aesthetically pleasing UI)
osCommerce (very simple and web pages which look like they're from 2005)
Zen Cart (fork of osCommerce)

C#/.NET
virtocommerce
nopCommerce
magelia

Despite being really handy for beginners, Dreamweaver teaches you a grand total of nothing. You will never have concepts reinforced to you and will never truly learn to build sites without it.
Its not a very good IDE either, at least in comparison to others - I guess they want to push their WYSIWYG drag-and-drop thing. You also have little power over site design.

Not to discourage you from building a server but for your sisters website I suggest hosting a wordpress site on Godaddy or other hosting site and getting a premium theme with a store built in from https://colorlib.com

  1. Virtual machine
  2. 3 weeks is not enough
  3. Really....some people dedicate their whole career to this...

  4. Everything

No offense but do you expect to learn html, java, jquery, yada yada, css. in 3 week?, you're not going to go from 0 to 100 in 3 weeks thats for sure web development is it's own thing, allmost completely seperate from "regular" programming.
You're not going to be publishing anything within that frame of time, but my best advice is to use a VM for developing the website before publishing it, read up on html, CSS, php, java scripting, and so on.
And just in case you're used to programming in (Insert own language here) be prepared to hit your forehead against walls upon walls of stupidity, which are all there for security, a html compiler IS NOT as java compiler.

1 Like

I've made an updated post if ya'll are interested.