Hi All,

As part of a university project I need to create a website that sells cosmetic products. The customer will need to go through the motions of selecting the items, placing them into a basket and going through the checkout process. However I wouldnt need to use a card merchant to process the transaction. customers would also need to sign up and create an online account.

I have created simple websites before, with HTML and CSS, but thats it. What development langauges would I need to know other than the two above? I assume PHP and Javascript will be the other two.

The website does not have to be CMS based.

Thanks in advance.


Recommended Answers

All 4 Replies

I think this would require using what was in the course material leading up to this assignment to be a valid answer. Go back over your course notes to see what should be used in your new system.

PHP and Javascript are must but you also need to learn a little about MYSQL for database management.

Traditionally you would identify your use cases. Upon completing this you would need to create a domain that supports the use cases. Once done with the domain you would map entities to your domain. Once that is done you would map the entities to a data structure (database tables). Upon completion of this you would start writing the code to implement the models you have created. When this is all done you can start building a front end that captures the user interaction and saves it in the database.

With regard to the languages you will need.
1) You will need something capable of server side processing. I would choose a language I am familiar with. If you are comfortable with JavaScript you can use node for server side processing (server side processing includes database interactions) - other languages like: Python, C#, Java, PHP and many more are capable of database interactions.
2) Keep the front end light, there is no need to engage in building something like a Single Page App (SPA) using Javascript. Depending on what the expectation is, you could probably get away with having pages rendered by a server side language.
3) Your persistence technology could be a number of things: Mongo, Redis, SQL and anything else capable of storing data. You might even consider a file system database depending on the requirements.

As pointed out above, make sure you understand the requirements of the assignment correctly and don't go overboard unless you are gaining credits for it.

I find it easier to identify components and begin working on the components, from your description you will require:
1) Authentication component - facilitates authentication/log in
2) Registration component - allows customers to create user/customer accounts
3) Product management component - allows the site owner to create products. should also cover the listing and viewing of products
4) Shopping cart component - allows the customer to add and remove products from the basket
5) Checkout component - allows the customer to pay for the contents of the cart (this could include mock payment processing)
6) Order management component - allows the owner of the site to process orders. Allows the customer to view hsitorical orders.

This is by no means a small project so I hope you get cracking on it right away! :D

@rproffitt is right. Your course materials may require you to use specific technologies, or particular features may be beyond the scope of the course materials. In your related post for product categories, I suggested using AJAX. However, if this is not taught in the course, your options are a form which captures the category ID in an input field, or use a link such as https://website.com?category=1.

You can then use $_POST['category'] for forms, or $_GET['category'] for a query string, ensuring that you appropriately sanitize the data. Examples include htmlspecialchars($data) for output, or mysqli_real_escape_string($con, $data).

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.