Skip to content

davidm-g/Twice-as-Nice-Website

Repository files navigation

Twice as Nice HTML Logo  CSS Logo  JavaScript Logo  PHP Logo 

Project done in collaboration with:

Tomás Marques
Pedro Lunet

Grade: 15.9/20

Overview

A second hand shopping website with dynamically generated PHP pages and an SQLite database based on 2 main SQL files.

HTML and CSS provide all the styling that beautifies the website and makes its pages responsive.

JavaScript makes the website more interactive and with the resource to Ajax live search results and assynchronous data updates are possible;

Project done in the Web Languages and Technologies class of the 2nd year of L.EIC course.

Installing and running the project:

1 - Install SQLite3 and PHP

sudo apt-get install php-cli sqlite3 php-sqlite3 unzip wget

2 - Clone this repository

git clone https://github.com/davidm-g/Twice-as-Nice-Website.git

3 - Navigate to the main directory

cd Twice-as-Nice-Website/

4 - Open a localhost to access our webpages

php -S localhost:9000

5 - Navigate to 'localhost:9000' on your favourite browser and explore our website

EXTRA

If you need to reset to the original project database just execute these commands:

cd Twice-as-Nice-Website/database/
sqlite3 site.db
    .read create.sql
    .read populate.sql
    .exit 

Instructions: Project Description

Screenshots

Main Page

Register new account page

Messages screen

External Libraries

We have used the following external libraries:

  • Font Awesome

Implemented Features

General:

  • Register a new account.
  • Log in and out.
  • Edit their profile, including their name, username, password, and email.

Sellers should be able to:

  • List new items, providing details such as category, brand, model, size, and condition, along with images.
  • Track and manage their listed items.
  • Respond to inquiries from buyers regarding their items and add further information if needed.
  • Print shipping forms for items that have been sold.

Buyers should be able to:

  • Browse items using filters like category, price, and condition.
  • Engage with sellers to ask questions or negotiate prices.
  • Add items to a wishlist or shopping cart.
  • Proceed to checkout with their shopping cart (simulate payment process).

Admins should be able to:

  • Elevate a user to admin status.
  • Introduce new item categories, sizes, conditions, and other pertinent entities.
  • Oversee and ensure the smooth operation of the entire system.

Security: We have been careful with the following security aspects:

  • SQL injection
  • Cross-Site Scripting (XSS)
  • Cross-Site Request Forgery (CSRF)

Password Storage Mechanism:

PASSWORD_DEFAULT --> bcrypt algorithm (default as of PHP 5.5.0)

Aditional Requirements:

We also implemented the following additional requirements (you can add more):

  • Rating and Review System
  • Promotional Features
  • Analytics Dashboard
  • Multi-Currency Support
  • Item Swapping
  • API Integration
  • Dynamic Promotions
  • User Preferences
  • Shipping Costs
  • Real-Time Messaging System

Made by David Gonçalves | [email protected]