Giter VIP home page Giter VIP logo

galerie-du-numerique's Introduction

Banner

Hi there, I'm Arthur 👋

I'm a Full-Stack Web Developer đŸ’» and Drummer đŸ„

🔭 I’m currently working on

  • Vision, an opensource project that help you to visualize, test and generate document from an API.
📈 My GitHub Stats

📈 GitHub Stats

  

galerie-du-numerique's People

Contributors

alabille avatar arthurgeay avatar jeremdlcn avatar yxssi avatar

Watchers

 avatar  avatar  avatar

galerie-du-numerique's Issues

DĂ©tails d'une oeuvre

Description

En tant que utilisateur,

je souhaite accéder aux détails d'une oeuvre

afin de pouvoir visualiser le titre, la description, la catégorie, une image ainsi que la date de réalisation de l'oeuvre.
Ainsi que l'artiste qui est l'auteur de l'oeuvre,
et le nombre de votes obtenu par l'oeuvre

Tests d'acceptation

  • Les informations de l'oeuvres (titre, description,catĂ©gorie, image & date) sont renvoyĂ©es
  • L'artiste de l'oeuvre est renvoyĂ©

TĂąches

  • Renvoyer les informations dĂ©taillĂ©es de l'oeuvre
  • Renvoyer l'auteur de l'oeuvre
  • Afficher bouton pour vote

Récupération des informations complémentaires automatiquement (API wikiart)

Dans l’admin, Ă  la crĂ©ation, ces champs ne sont pas visible
Ils seront visibles lors d’un update.

Ces champs sont alimentés par un script python qui tourne de maniÚre réguliÚre (tùche cron) -> https://gutsytechster.wordpress.com/2019/06/24/how-to-setup-a-cron-job-in-django/

Artwork :

  • width
  • height
  • image
  • location
  • description
  • completitionYear

Artist :

  • birthDayAsString
  • deathDayAsString
  • image

Liens utiles : https://simpleisbetterthancomplex.com/tutorial/2018/08/27/how-to-create-custom-django-management-commands.html

Il faut créer une commande (voir lien ci-dessus)
Exemple du code, Ă  adapter

import requests
from django.core.management.base import BaseCommand
from django.utils.dateparse import parse_date
from polls.models import Artwork


class Command(BaseCommand):
    help = ''

    def handle(self, *args, **kwargs):
        
        data = getData('joconde')

        artwork = Artwork()
        artwork.title = 'La joconde'
        artwork.description = data['artwork_details']['description'] or None
        artwork.image = data['artwork_details']['image'] or None
        artwork.released_at = data['artwork_details']['completitionYear'] or None
        artwork.width = data['artwork_details']['width'] or None
        artwork.location = data['artwork_details']['location'] or None

        artwork.save()


def getData(artwork_name):
    # Trouver l'id de la peinture
    search_result = requests.get(
        'https://www.wikiart.org/fr/Api/2/PaintingSearch?term={}&accessCode=db91125bac784d42&secretCode=94c86b19e3f47713'.format(artwork_name))
    artwork_id = search_result.json()['data'][-1]['id']
    artist_url = search_result.json()['data'][-1]['artistUrl']

    # Details de l'oeuvre
    artwork_details = requests.get('https://www.wikiart.org/fr/Api/2/Painting?id={}&accessCode=db91125bac784d42&secretCode=94c86b19e3f47713'.format(artwork_id))
    
    # Details de l'artiste
    artist_details = requests.get('https://www.wikiart.org/fr/{}?json=2'.format(artist_url))
    
    return {artwork_details: artwork_details.json(), artist_details: artist_details.json()}

Page d'accueil

Description

En tant que utilisateur,

je souhaite accéder à la page d'accueil

afin de pouvoir m'informer sur le systĂšme et la galerie.

Tests d'acceptation

  • L'utilisateur a accĂšs Ă  la page

TĂąches

  • Responsive
  • Tout s'affiche

Mot de passe oublié

En tant que utilisateur,
je souhaite pouvoir réinitialiser mon mot de passe
afin de pouvoir me connecter

Tests d'acceptation

  • L'email de rĂ©initialisation est envoyĂ©
  • Le nouveau mot de passe est bien sauvegardĂ© et l'utilisateur peut de nouveau s'authentifier

TĂąches

  • Route pour saisir l'adresse e-mail
  • Route pour changer le mot de passe

CRUD Admin gestion des oeuvres

En tant qu'administrateur,

je souhaite pouvoir accéder aux oeuvres de l'application

afin de les gérer.

Tests d'acceptation

  • PossibilitĂ© de crĂ©er une oeuvre
  • PossibilitĂ© de modifier une oeuvre
  • PossibilitĂ© de supprimer une oeuvre
  • PossibilitĂ© de voir les dĂ©tails d'une oeuvre
  • PossibilitĂ© de voir l'ensemble des oeuvres

TĂąches

  • CrĂ©er un model Artwork
  • GĂ©nĂ©rer et exĂ©cuter les migrations relatives
  • Ajouter le model Ă  l'admin

Voter sur une oeuvre

Description

En tant que utilisateur,

je souhaite voter une oeuvre

afin de pouvoir donner mon avis sur une oeuvre

Tests d'acceptation

  • L'utilisateur peut soumettre son vote
  • Les administrateurs ne sont pas autorisĂ©s Ă  voter
  • Les utilisateurs non connectĂ© ne peuvent pas voter

TĂąches

  • CrĂ©er l’application polls
  • Rajouter la relation many to many vote sur le model artwork et gĂ©nĂ©rer la migration
  • CrĂ©er une route pour le vote
  • CrĂ©er une view pour gĂ©rer le vote
  • CrĂ©er un form dans la page de dĂ©tails pour le vote et l'afficher uniquement si l'utilisateur a les permissions.
  • Rajouter une permission « canVote » pour les utilisateurs et l’appliquer sur la route

Pages légales

En tant qu'utilisateur,
je souhaite consulter les données légales concernant l'utilisation de ce site internet.

  • page de mentions lĂ©gales
  • page de politique de confidentialitĂ©
  • page de conditions d'utilisations

CRUD Admin gestion des artistes

En tant qu'administrateur,

je souhaite pouvoir accéder aux artistes de l'application

afin de les gérer.

Tests d'acceptation

  • PossibilitĂ© de crĂ©er un artiste
  • PossibilitĂ© de modifier un artiste
  • PossibilitĂ© de supprimer un artiste
  • PossibilitĂ© de voir les dĂ©tails d'un artiste
  • PossibilitĂ© de voir l'ensemble des artistes

TĂąches

  • CrĂ©er un model Artist
  • GĂ©nĂ©rer et exĂ©cuter les migrations relatives
  • Ajouter le model Ă  l'admin

Galerie des oeuvres

Description

En tant que utilisateur,

je souhaite accéder à la galerie des oeuvres

afin de pouvoir visualiser les oeuvres enregistrées dans l'application

Tests d'acceptation

  • L'utilisateur a accĂšs Ă  l'image de l'oeuvre, son titre ainsi que le nom de l'artiste
  • L'utilisateur a la possibilitĂ© de consulter les dĂ©tails d'une oeuvre

TĂąches

  • Renvoyer la liste des oeuvres ainsi que leurs dĂ©tails

Mise en place de l'authentification

Description

En tant qu'administrateur,

je souhaite me connecter Ă  l'interface d'administration

afin de gérer les oeuvres de l'application

Tests d'acceptation

  • L'administrateur arrive Ă  se connecter et est redirigĂ© vers la page d'accueil de l'administration
  • L'utilisateur arrive Ă  se connecter et est redirigĂ© vers la page d'accueil
  • L'utilisateur arrive Ă  s'inscrire et est redirigĂ© vers la page d'accueil

TĂąches

Authentification administrateur

  • CrĂ©er une nouvelle application authentication
  • CrĂ©er un utilisateur administrateur

Inscription/Authentification utilisateur

  • Installation django-debug-toolbar
  • Ajouter une route pour l'inscription
  • CrĂ©er une vue(controller) pour l'inscription + template
  • Validation des donnĂ©es + insertion en bdd
  • Ajouter une route pour la connexion
  • CrĂ©er une vue(controller) pour la connexion + template
  • Validation des donnĂ©es + connexion

CRUD Admin gestion des catégories

En tant qu'administrateur,

je souhaite pouvoir accéder aux catégories de l'application

afin de les gérer

Tests d'acceptation

  • PossibilitĂ© de crĂ©er une catĂ©gorie
  • PossibilitĂ© de modifier une catĂ©gorie
  • PossibilitĂ© de supprimer une catĂ©gorie
  • PossibilitĂ© de voir les dĂ©tails d'une catĂ©gorie
  • PossibilitĂ© de voir l'ensemble des catĂ©gories

TĂąches

  • CrĂ©er un model Category
  • GĂ©nĂ©rer et exĂ©cuter les migrations relatives
  • Ajouter le model Ă  l'admin

Modifier un artiste

En tant qu'Administrateur,

Je souhaite modifier les informations d'un artiste,

Afin de corrigé les erreurs liées aux informations d'un artiste

TĂąches

  • : Styliser la template
  • : Faire la logique

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.