GithubHelp home page GithubHelp logo

eduardo's Introduction

eduardo.ch

Join the chat at https://gitter.im/HE-Arc/eduardo

Site d'achat et vente en ligne basé sur ricardo.ch

Environnement de développement

Installer l'environnement :

  1. Commande pip install virtualenv
  2. Créer un environnement avec virtualenv <nom_env>
  3. Démarrer l'environnement avec <nom_env>\Scripts\activate.bat
  4. Il devrait être écrit (<nom_env>) sur la console
  5. Il sera surement nécessaire de ré-installer les paquets nécessaires sur l'environnement (Django, django-crispy-forms, mysqlclient etc...)

Démarrage serveur

  1. Ouvrir la console dans le dossier de manage.py
  2. Lancer python manage.py runserver
  3. Ouvrir localhost:8000

Migrations

Modifications d'un model:

  • Modif dans 'models.py'
  • Commande python manage.py makemigrations permet de créer le migrations correspondant aux changements
  • Commande python manage.py migrate applique les migrations

Tuto entier

Tuto Django - ResistanceApp

Configuration mySQL

Tuto config db avec MySql

Capistrano

Cours Capistrano

eduardo's People

Contributors

daviddasilva1 avatar gitter-badger avatar robin-alfred avatar sebaahoue avatar

Watchers

 avatar  avatar  avatar

Forkers

gitter-badger

eduardo's Issues

Remarques

Salut à vous ! 😄

Quelques remarques préliminaires après un petit survol de votre code et test de votre projet en local. Sachant que c'est encore en cours de dev, je n'ai pas tout analysé en détail, il y a donc peut-être des éléments sur lesquels vous travaillez déjà. Toutes ces infos sont à titre indicatif.

Vous utilisez le framework correctement. Content de voir que vous avez pensé à utiliser les vues génériques basées sur les classes. Utilisation des forms, register de modèles sur l'admin django. Bonne utilisation des templates, etc. Globalement ça se passe bien c'est top 👍

Je vous mets ci-dessous quelques pistes/idées si vous voulez (et avez le temps) pousser les choses un peu plus loin :

Fixtures pour données de base

Pour Eduardo, un site avec une base de catégories sûrement communes à tous les utilisateurs, je vous recommanderais de faire des "fixtures" pour faciliter le seeding de la DB au premier setup. Pour rappel : python manage.py dumpdata. On pourrait même imaginer une seconde fixture avec des articles pour avoir des données d'exemple (!= des données de base, nécessaire au "fonctionnement" de l'app, comme les catégories).

Dépendances python

Comme vous le dites dans votre README, j'ai du réinstaller les dépendances python utilisées par votre projet avec des pipenv install django-crispy-forms et pipenv install pillow.

Pour rappel, le fichier requirements.txt (si vous utilisez virtualenv) ou Pipfile (si vous utilisez pipenv, recommandé) vous permet d'éviter à réinstaller les dépendances manuellement à chaque setup.

Pour ça, il faut freezer vos dépendances une fois qu'elles sont installées en local -> pip freeze > requirements.txt.

Comme ça, au lieu de faire des pip install ... pip install ... pip install ... on ne fait qu'un seul pip install -r requirements.txt

Cohérence dans views.py

C'est top d'avoir utilisé des generic views basées sur les classes. Cependant, vous avez des vues qui restent basées sur les fonctions (def register et def vendre). L'idée étant ici de rester cohérent et de passer toutes vos vues en class based (méthode recommandée par django dans la doc officielle)

(pseudo-code écris de tête) Ainsi, à la place de

def register(...)
    if response.method == "POST":
        ...

On aura plutôt

Class Register(generic.View):
    def post(self, request):
        ...

Et à la place de

def vendre(response):
    return render(response, "eduardoApp/vendre.html")

plutôt

Class Vendre(generic.TemplateView):
    template = "eduardoApp/vendre.html"

C'est aussi légèrement plus évolutif 😉

sqlite

Attention à ne pas utiliser sqlite en prod, ce n'est pas recommandé (db engine mono user) !

Dépendances frontend

Détail mais bootstrap induit 3-4 dépendances frontend (popper.js, jquery) que vous utilisez via cdn. C'est ok mais si vous deviez avoir plus de dépendances, il commencerait à devenir intéressant de passer par un gestionnaire de package js tel que npm pour les inclure à votre projet. Quelques infos.


Pour rappel, pas besoin de mettre en place tout ça dans votre projet mais si vous trouvez néanmoins le temps d'en faire qq uns, ce seront de grand plus 😉

à dispo si besoin

Excellente continuation à vous ! 😄

Messagerie

Fonctionnalité secondaire : communication avec d'autres personnes concernant les articles.

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.