Making a shopping website

Making a fake site for people to trade credits for items.

Overview

Hello 👋… This last week I have been thinking about what to do as a major project for the semester. The project needs to be good because of the time allocated for it. Because this is web dev, there is lots of options. I can go from making a very formal website to something so fun that it is chaotic. I preferably don’t want to make something that needs to rely on designing (which is why I will use bootstrap).

What was completed

The idea that I have decided on (hopefully the final idea) is to make an e-commerce type of site where people can trade items for a virtual currency. This is going to be designed as a proof of concept rather than an actual site (so no real money involved). The purpose of this is to try and build a website that can be useful and expanding my knowledge (doing things that are harder than done previously). My inspiration will be sites like Ebay and Amazon.

My capabilities for this are very broad. I have knowledge of Python, HTML, CSS (not as much designing), JS (including TS), and SQL. This should allow me to make a full stack application that can do almost all that I can desire. Even though my last website was in Flask, I think I will use Next.js as it allows for reusable components and good documentation (it also seems to be a library thing these days). I rewrote my blog site (what your reading) to this, and it was very simple and a fun experience (I feel like I can do this well).

The main outcome for the website is for people to list items and have an ability to buy them (with flat price, offers, or maybe auctions). I will as a result need to have an account system and some database implementation.

The initial scope of the project is to do the outcomes. This includes the listing of items for a virtual monetary gain, and preload with fake data to show the concept. However, I won’t me making a ML algorithm to show users thinks they should buy and too many item types (I will try and stick with a few and see how it goes).

As most assignments, my timeframe is going to be completing it before the assignment is due (and hopefully a bit earlier to allow for testing).

There shouldn’t be many 3rd parties involved with this. I may have the occasional tester, but I will come up with the user interface and determine the features for the website.

Some constraints would be the time factor (high), this is because the quality of a project is dependent on how much time has been invested into it. The concept doesn’t have much other restrictions as it is very variable (and I have no team members).

Considering my capabilities with programming, I should be able to make the website. The only issue would be design, and that should be fixed with inspiration from the other websites and bootstrap components.

There are some risks, but I should be able to manage them. For example, I will use GitHub to minimise impact for potential loss of data. I have had experience with this (and no issues so far), so I feel like it should go well!

The dependencies are going to be flexible but the rough order:

  • Basic working site (with basic database access)
  • Brainstorm database needs (and implement them)
  • Make them useable in the website
  • Make the UI and UX better
  • Testing… and then submit

Reflection

Why do you not want to use Flask?

This assessment task doesn’t have many restrictions, it only dictates that it has to be something related to web dev. This means I have the freedom to use anything I like to use. Even though I have used Flask well for a while, I just don’t like it as much as Next.js. This could be because I like JavaScript a bit better, but hopefully I can make a good product even with this difference. I wonder If I need better code comments because the teacher won't know the language…

Do you feel able to do this well?

It is going to be one of my biggest projects, so there is lots of pressure to make it good, but I do feel able to pull it off. I did have big ambitions for the last assignment, but didn’t do them because of time, so I will try and spend more time and then create a good end of year project. But yes, I have done well in other web-dev assignments, so I should be-able continue with it and produce the quality work.

Will you prioritise the presentation more?

Unfortunately, my presentation was the worst part of the last assignment. This was because I did it a bit to last minute with no practice. I realise the issues now and strive to make it better with more time devoted to it. I won’t start it now (as nothing to show), but I will start brainstorming when we get the actual rubric to assess ourselves against. Overall, I do feel more capable now, and want to improve.