Coder Social home page Coder Social logo

petsittop-api's Introduction

PetsitTop 🐾

Dépôt GitHub FRONT : https://github.com/O-clock-Maya/projet-02-pet-sitter-friendly-front
Dépôt GitHub BACK : https://github.com/O-clock-Maya/projet-02-pet-sitter-friendly-back

✨ Voici notre site PetsitTop ! ✨

Lancement

N'hésitez pas à cloner ce dépôt GitHub !

Installation des dépendances :

npm i

Lancement du serveur :

npm run dev

Présentation

PetsitTop est une plateforme d'entraide et de mise en relation entre particuliers pour du "petsitting" : la garde d'animaux domestiques.

2 rôles existent pour tout utilisateur (qui peut choisir d'avoir un seul rôle ou les deux):

  • "Petowner" : propriétaire d'animaux ayant besoin de les faire garder
  • "Petsitter" : personne acceptant de garder des animaux domestiques

Fonctionnalités

Tout visiteur (non connecté) du site peut rechercher des profils de Petsitters disponibles, en filtrant par département et par type d'animal à faire garder.

Une fois connecté, un utilisateur ("user") peut :

  • afficher son profil et celui des autres utilisateurs

  • modifier/supprimer son profil

  • contacter d'autres utilisateurs (affichage de l'adresse email de contact)

  • accéder à l'ensemble des annonces postées par des Petowners pour leur recherche de Petsitter (filtre possible par département)

  • un Petowner connecté va pouvoir aussi :

    • ajouter/modifier/supprimer ses animaux ("pets") => à venir
    • ajouter/modifier/supprimer des annonces de recherche de petsitter ("ads")
  • un Petsitter connecté va pouvoir aussi :

    • spécifier s'il est disponible actuellement (avec détails de sa disponibilité et types d'animaux qu'il accepte de garder)

Technologies & outils utilisés

VSCode NPM ESLint Git Railway Trello Whimsical MOCODO

Front-end

JavaScript React Redux Vite SASS React-icons Joi Json Web tokens

Back-end

JavaScript NodeJS ExpressJS Joi Json Web tokens PostgreSQL Sqitch Swagger Insomnia

L'équipe

Nous sommes 4 jeunes développeurs web fullstack ayant suivi la formation Développeur Web Fullstack JavaScript de l'école O'clock.

Après presque 800 heures de formation (cours en téléprésentiel, exercices d'application des notions vues en cours, journées de pair-programming, 1 mois de spécialisation en React.js pour certains ou Data & API pour d'autres...), nous nous sommes attelés à notre projet de fin de formation :

🚀 La réalisation d'une application web,
🚀 de sa conception au déploiement d'un MVP,
🚀 en méthodologie Agile,
🚀 pendant 1 mois,
🚀 en équipe.

Voici plus d'informations sur les membres de notre équipe :

  • DAÏ Inès
  const daiInes = {
    first_name: "Inès",
    last_name: "Daï",
    project_main_role: "Front-end",
    superpowers: [
        "rappelle à l'équipe de prendre des pauses",
        "réalise des GIFs de chats"
        ]
    };

Son profil GitHub : github.com/ines-dai
Son profil Linkedin: linkedin.com/in/ines-a-d
Son portfolio : noridoki.fr

  • HONORÉ Simon
  const honoreSimon = {
    first_name: "Simon",
    last_name: "Honoré",
    project_main_role: "Front-end",
    superpowers: [
        "a su trouver le nom du site",
        "fier Petowner d'un adorable chien"
        ]
    };

Son profil GitHub : github.com/Simon-Honore
Son profil Linkedin: linkedin.com/in/simon-honore/

  • KELLER Catherine
  const kellerCatherine = {
    first_name: "Catherine",
    last_name: "Keller",
    project_main_role: "Back-end",
    superpowers: [
        "n'hésite pas à passer du back-end au front-end",
        "aime et abuse des post-its"
        ]
    };

Son profil GitHub : github.com/CatherineKeller
Son profil Linkedin: linkedin.com/in/kellercatherine
Son portfolio : catherine-keller.fr

  • SKICA Axelle
  const skicaAxelle = {
    first_name: "Axelle",
    last_name: "Skica",
    project_main_role: "Back-end",
    superpowers: [
        "traductrice officielle des commentaires de code",
        "a appris le crochet et le tricot en autodidacte"
        ],
    };

Son profil GitHub : github.com/Axelle-SKICA
Son profil Linkedin: linkedin.com/in/axelle-skica

Routes API

ROUTE METHODE FONCTIONNALITE
/login POST connecter un user à son compte
/users?department=&pet_type= GET récupérer tous les users "petsitters" disponibles (role=petsitter & availability=true) avec filtre sur "department" (localisation) et "pet_type" (type d'animal à faire garder)
/users POST créer un nouvel utilisateur (inscription)
/users/:id GET récupérer les infos d'un user
/users/:id PUT modifier un user
/users/:id DELETE supprimer un user
/user/:id/pets GET récupérer tous les animaux ("pets") d'un user
/user/:id/pets POST créer un "pet" pour un user
/pets/:id PUT modifier un "pet"
/pets/:id DELETE supprimer un "pet"
/ads GET récupérer les détails de l'ensemble des annonces ("ads") existantes
/user/:id/ads GET récupérer toutes les annonces "ads" d'un user
/user/:id/ads POST créer une "ad" pour un user
/ads/:id PUT modifier une "ad"
/ads/:id DELETE supprimer une "ad"

Évolutions envisagées

Ce projet a été initié dans le cadre de notre formation chez O'clock, et nous avions donc pour objectif de déployer un MVP au bout de 1 mois.

Mais nous avons également réfléchi à de possibles évolutions pour notre application, que nous avons regroupées par possibles lots pour répartir la charge de travail :

  • V2 :

    • Gestion des dates avec ajout des disponibilités (datepicker, du… au…)
    • Ajout de la liaison animal / annonce
    • Possibilité de télécharger une photo de profil utilisateur / animal
    • Inscription avec comptes Google/Apple
    • Gestion de mise en favoris
  • V3 :

    • Ajout d’un rôle Administrateur (CRUD de tous les users/pets/ads/roles/pet_types, modération des annonces, des comptes...)
    • Envoi d’emails (ex : confirmation d’un compte...)
    • Ajout de “mot de passe oublié ?” avec envoi d'email pour en choisir un nouveau
    • transformation des éléments de texte sur le profil en "badges" (ex : "OK chiens", "OK chat"…)
  • V4 :

    • formulaire d'inscription en deux parties : 1 obligatoire + 1 facultative (bouton ignorer) => complétion du profil sous forme de slide avec barre de progression
    • créations de profils plus complets pour les animaux (Photos, nom, âge, personnalité/comportement, ententes, soins particuliers, habitudes alimentaires, besoins (exercice...)
  • V5 :

    • filtre de recherche par localisation selon un rayon géographique autour d’une adresse
    • affichage des petsitters sur une carte lors de l’affichage des résultats d’une recherche
  • V6 :

    • Fonctionnalité de messagerie par "chat" entre deux utilisateurs
    • confirmation de créneau / prestation sur le site
    • une fois la prestation faite, le petsitters et le propriétaire laissent leurs avis
    • affichage des avis petsitters et animaux
    • modération des avis par les administrateurs
  • V7 :
    Bulle de notification pour l'utilisateur :

    • quand un avis a été donné sur lui
    • quand une demande de petsitting lui a été faite...
  • V8 :

    • compte professionnel avec paiement en ligne
    • abonnement ou paiement ponctuel pour mettre en avant son profil dans les recherches

petsittop-api's People

Contributors

axelle-skica avatar catherinekeller avatar

Stargazers

Sébastien GAUTIER avatar

Watchers

Simon Honoré avatar

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.