André Restivo

LTW Project

Project description for the 2024 edition of the Web Languages and Technologies course.

Objective

Develop a website that facilitates the buying and selling of pre-loved items. The platform should provide a seamless experience for users to easily list, browse, and transact. Moreover, the website should offer robust search and filter capabilities, detailed item descriptions, and user feedback systems.

To create this website, students should:

Workgroups

Requirements

The requirements are deliberately broad to allow each group the freedom to innovate and create a unique website. Let your creativity flow!

This second-hand marketplace platform features three types of users: sellers who wish to list and manage their items, buyers looking to purchase items, and admins who manage the platform's overall operations. Users should have the flexibility to act as sellers and buyers without needing separate accounts.

The minimum expected set of requirements is as follows:

All users should be able to:

Sellers should be able to:

Buyers should be able to:

Admins should be able to:

Required Technologies

Ensure the application incorporates the following technologies:

Security Measures

Prioritize security to safeguard user data and interactions:

Code Quality

Maintain high standards of code quality:

Design Consistency

Design a user-friendly interface:

Restrictions

Adhere to the following restrictions:

Additional Requirements

Some suggested additional requirements. These requirements are a way of making sure each project is unique. You do not have to implement all of these:

Remember, these are just suggestions to inspire further development and innovation. If you prefer, you can create your own additional requirements.

Work Plan

This is a proposed plan to guide your work. No deliverables are expected or will be evaluated on these dates:

We recommend that students adopt an agile methodology. Don't start by planning every little detail right from the start, as you risk ending up with a great plan but a poor implementation. Be aware of code organization and quality from the beginning.

Evaluation

Evaluation will be done on the following topics:

The goal is to implement the requirements in a unique way that meets the project objectives. Using code from other sources without proper attribution will lead to the student failing the class (possibly with an RFR mark).

Delivery

You must create a tag named "final-delivery-v1" on the commit you wish to deliver.

git tag final-delivery-v1
git push origin final-delivery-v1

To test if everything is correct, you should be able to clone the project into an empty directory:

git clone <your_repo_url>
git checkout final-delivery-v1
php -S 9000

And view your website at http://localhost:9000/.