Code Monkey home page Code Monkey logo

feup-ltw-project's Introduction

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

feup-ltw-project's People

Contributors

biam05 avatar hugomguima avatar inesquarteu avatar samyuh avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

biam05 hugomguima

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.