Skip to content

samyuh/feup-ltw-project

Repository files navigation

LTW Project

Project Description

Create a website where users can list rescue pets for adoption and/or offer them a forever home.

This project was done by:

  • Diogo Samuel Gonçalves Fernandes, up201806250
  • Hugo Miguel Monteiro Guimarães, up201806490
  • Beatriz Mendes, up201806551
  • Inês Quarteu, up201806279

Index

  1. Credentials
  2. Mockups
  3. UML
  4. Code Practices
  5. Features

Credentials (username/password (role))

  • zini / ltwpet60! (User)
  • progengi / ltwpet60! (User)
  • Samuh / ltwpet60! (User)

Libraries

Google Fonts

<link href="https://fonts.gstatic.com" rel="preconnect">
<link href="https://fonts.googleapis.com/css2?family=Lobster&display=swap" rel="stylesheet">

Used in the name of the website in the header and in the welcome message in the homepage of the website.

"Font Awesome" Icons

<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">

Library used to implement icons in the website (for example, the star icon that is used in the pet profile to add the pet to our favorite pets list).


Mockups

Home Page Profile
Home Page Profile
Dog Profile Dog Information
Dog Profile Information
Login Register
Login Register

UML

Login


Code practices

  • All the content should in english
  • Git Flow followed (dont commit directly on master, use pull requests, ...)
  • Always use 'use strict' at the start of javascript files

Features

Required Features

All users should be able to:

  • Register a new account.
  • Login and logout.
  • Edit their profile (username and password at least).

Users that found a pet and are looking for someone to adopt it should be able to:

  • Add information about the pet. Including name (if any), species (e.g., dog, cat), size, color, photos, location, ...
  • Manage previous postings (like a blog).
  • List any questions, inquiries, and adoption proposals.
  • Accept or refuse adoption proposals.

Users looking for a pet should be able to:

  • Search for a pet using several search criteria.
  • Add pets to a favorites list.
  • Ask questions about a pet listed for adoption.
  • Propose to adopt a pet and list previous proposals.

Extra Features

  • A slideshow with all pet photos on pet page
  • Users that adopt a pet can add post photos of that animal after the adoption, edit their information and answer questions
  • A notification menu where users can see if their pet had an adoption proposal
  • Users can list all of their favorite pets, pets to adoption and adopted pets on their profile
  • Edit profile photo
  • Delete profile
  • Toggle between dark and light theme

Security Features

  • Hashed passwords (with SALT from password hash)
  • Session CSRF Tokens
  • XSS attacks prevented
  • Regex to filter user input
  • Session fixation prevented (24 hours)
  • SQL using prepare/execute
  • Data Validation: regex / php / javascript

Technologies

  • Separated logic/database/presentation
  • Semantic HTML tags
  • Responsive CSS
  • Javascript
  • Ajax

Usability:

  • Error messages
  • Dark mode