Creating an online shopping website (like Amazon), school project

Hey all, so I have this school project, which is making a website like Amazon or some sort of online shopping/eCommerce site, my professor actually specified and told me to make a similar site. Of course, the site won’t need to go online, it’s just a fairly simple project. My knowledge in web design/programming is still limited to basic HTML but I’m willing to learn more.

I think these are important to be in the site:

  • account registration (signup/login)
  • item list (can be sorted by brands,categories, etc; maybe an inventory too with stocks/can be sold out?)
  • cart
  • and of course, the design (I’ll be trying to make it look like Lazada

About the checkout, since items won’t really be shipped and there won’t actually be any payment, maybe just an order invoice will do.

Anyways, I’m kind of lost here and I really don’t know where to start. What languages will I need to learn? CSS? SQL? PHP? Oh and should I use HTML5 instead of just HTML? I’ll need an inventory system, perhaps?

Please tell me how I should do it, and suggest me things that the site might need. Really, any help would be greatly appreciated. Thank you so much. :slight_smile:

1 Like

Welcome to the forums, @xTan.

What you’ve described is not what I would consider “a fairly simple project”. Has your professor given you no guidance on this? If you have not yet learned CSS or PHP, this project seems to be an unreasonable assignment. How long do you have to work on it?


I don’t know your situation but IMHO this is extremely unreasonable. Just the prerequisite of knowing HTML, CSS, PHP and SQL alone could easily take a class or more each if more than an introductory level was needed.
Putting together a working site would require much more than having only basic introductory knowledge.

If this is a type of “by the time you get your degree” project (which IMHO is the only way it would be reasonable) I suggest you talk to your instructor about which prerequisite knowledge you should focus on first.


If you use the domain name then it will be online.

A professional would begin by creating the forms (HTML pages in this situation) and the database design.

CSS does nothing to process the data; it just affects how the pages look. I think it is better to emphasize other things so I would ask your professor if it is okay to not make the pages look real good. It is better to concentrate on function than elegance.

Create the sample pages using HTML. I think there is no reason not to use HTML5. Assuming you are not using ASP. Net and C#, you will need to learn PHP and MySQL. After creating the pages using HTML, begin to design and create the database. Then learn how to update the database using PHP.


@TechnoBear @Mittineague
Yo guys, thanks for the replies. I asked my professor for clarification. He said that the site doesn’t have to be working, like, you know, with inventory and stocks and such. I only need to make the design, the appearance of different pages the links redirecting to them. I got a month to work on it.

After making the project though, I think I’ll try and give myself a challenge and actually do a working site, do that thing I initially thought was required for the project, with the inventory, stocks and cart. I’m just an aspiring coder, willing to learn more, so yeah I think I’ll give it a shot.

1 Like

@SamuelCalifornia Hey man, thanks. So I assume the learning order and priority goes like this?: HTML5 → MySQL → PHP → CSS.

You need HTML and CSS first. A month is asking a lot to learn those.

1 Like

I think most people learn html & css first of all, as these are considered the “bare essentials” to make a simple (static) site and are the most simple languages to learn, it is just code, not programming.
HTML is of course the foundation of any site, so most important. CSS is all about presentation, styling and layout, actually more superficial cosmetic stuff. But is what makes a site more visually appealing (or not) and design can help UX if done right.

So that’s just html & css then.

To make it function, with products, shopping carts, user accounts, etc… That is where you will need to learn the back-end (server-side) stuff (PHP & SQL), which is a bit more complex than the basic front-end languages.


@Gandalf @SamA74 Yo guys, thank you very much. I’m currently learning HTML5 and CSS. :slight_smile:

1 Like

Yes you must learn CSS eventually. CSS however will do absolutely nothing to the data, it will only affect the way people see the data and your UI. CSS is much more complicated than what a UI feature such as what it does needs to be. CSS is called “cascading” because it was added on top of HTML (and cascades down) with as few changes to HTML as was needed. It is totally your decision to make but if you ask me I give you permission to give CSS the lowest priority. If you get really good at the other things then you and/or your employer can pay someone else to do the CSS. Hopefully there will soon be something better but at the moment there is nothing on the horizon to replace HTML and CSS.

In terms of MySQL, the important thing is database concepts. You should learn about what “relational” means and you should understand what “SQL” is. MySQL and SQL Server are software products and you need to understand how that is different from the SQL language. Learning about databases and database design is important.

I agree about the priority of learning CSS. Technically, a web page does not need any CSS. True, it will look plain as all get out, (only one step better than a text file) but if you’re short on time you may want to use CSS sparingly without learning many of the amazing and wonderful things it can do.

One thing I think you should do, and do often, while learning HTML, is to get in the habit of validating the markup.


I think you’ve missed @xTan’s clarification of what is required here:

In that case, HTML and CSS would be required to create the appearance; the back-end functionality is not needed.


This is true, it’s not a necessity, but…

This sounds very much like a CSS exercise.
This is the basis on which I push the idea of learning css for this particular project.

And lesser on the server-side part.

This depends upon who you want to be. Perhaps the OP wants to be the person being paid to do CSS.
Which you prioritise in the long run really depends upon your chosen path, if you want to focus on being a front-end or back-end developer, or possibly both.
It seems logical to me to learn the front end first, to make a basic static site to begin with, then progress onto something more dynamic with scripting.

I say it’s as complex as you want it to be, or are comfortable with producing.
We have established that a site can function without it. This also means it will function with a minimal amount of it. For example, just a change of default font and colours. Maybe just a simple line to make images responsive (which with the exception of handling wide tables is all you need for a fully responsive design, contrary to the belief of many framework fans).
You take it only as far as you want to go.


Does your professor own that site? :slight_smile: I can’t see any reason why any knowledgeable person would instruct a student to create a site like that early on in their learning curve. It seems very odd to me but of course I could be wrong?

You may be able to cobble a few basic pages together in a month but I doubt you will have learnt anything useful in that time unless this is not really about web design but testing your work ethic (a bit like learning Latin when it has no practical use). I would have set more realistic tasks with a set goal in mind that the student could learn and benefit from. It’s great to aim high but lets be realistic.

Also building a fixed width site goes against the grain and you should be looking at building responsive sites instead that cater for desktop and mobile and not looking at these big sites that have separate mobile and desktop versions.

The fact that you need to ask is also worrying and I would have assumed that any project you are asked to create would be based on work you have covered or have started to cover and therefore would have a good starting point for the task.

That means concentrate on html and css and no back end magic or front end scripting is required. You have to lay out the pages to look like a shopping site but does not require any functionality apart from linking to each page. You will need to learn the basics of html and CSS to get started but most of your time will be taken up in learning how to place things correctly with css. For your task you will need to keep things as simple as possible otherwise you won’t have a chance of completing it in the allotted time.

I’m still learning something new everyday and I’ve been doing this for 20 years.:slight_smile:

I think that if you work on your own at a steady pace in a constructive way then that is a worthwhile project when you don’t have a deadline to adhere to and you can take your time to properly learn the disciplines required. You will never master all the disciplines (things change daily in web design) but you should at least know how they interact with each other and what needs to be done even if you can’t do it yourself.

At least you are eager which is a good start so I wish you luck :slight_smile:


I was not going to say this, but since you stated it explicitly, I assume that people that just do UI stuff such as HTML and CSS get paid less than those that can do the back-end stuff such as database design and the code behind the UI. The stuff that make the UI people look good because the back-end stuff does so much of what really happens.

[quote=“SamA74, post:14, topic:258421”]
I say it’s as complex as you want it to be, or are comfortable with producing.
[/quote]I say that there are many things that we use CSS to do that should be easy to do but it is more complicated than it needs to be. I have been programming for nearly half a century and I have seen elegant, powerful software that allows us to get complicated without being unnecessarily complicated and I have seen things that are really unnecessarily complicated. In CSS, the rules for external stylesheets attached using the link tag are complicated and not all browsers are consistent with the others. Doing things that should be relatively simple can be too complicated with CSS.

We seem to be wandering off-topic here. Let’s concentrate on the OP’s question, which is about how to complete this particular assignment now; if he wants further advice about a future career, then I’m sure he’ll be able to start another thread and ask for it.

Back to the original topic, @xTan, I would probably do this project in this order:

  1. Draw a wireframe for the page so that you can see how the different parts are organized and you can plan which parts should be grouped together in the layout, etc.

  2. Write your HTML code for the page, following your wireframe and making sure that the elements you choose are semantically correct. For example, proper hierarchy for the heading tags, list elements where items are listed, etc

  3. Write the CSS for the layout, typography and colours (probably in that order), making sure that the layout consists of fluid widths, not fixed widths.


This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.