Hey,
Je viens de recevoir le rapport de QA pour la phase 1 du projet. Il y a plusieurs bogues, dont un qui fait planter l'application !
Malheureusement, je ne suis pas au bureau pour les prochains jours (un de mes enfants est tombé malade ce week-end).
Je ne sais pas encore quand je pourrai être là dans la semaine. Pourriez-vous prendre en charge la mise en œuvre du projet ?
Vous devrez régler les bogues de la phase 1 et mettre en œuvre les éléments de la phase 2 (j'ai ajouté le travail de la phase 2 et les bogues de la section “issues” du repo).
Vous devrez cloner et forker le repo et le mettre en place sur votre machine locale (tout ce dont vous avez besoin se trouve dans le fichier README).
Ensuite, passez en revue les bogues dans la section des problèmes, puis essayez de reproduire les problèmes sur votre machine locale pour résoudre les bogues et ajouter la gestion des erreurs.
Pour gagner du temps de configuration, nous utilisons Flask et JSON pour éviter d'utiliser une base de données.
La plupart des outils dont vous aurez besoin se trouvent dans le fichier requirements.txt dans le repo,
mais vous devrez installer Flask et notre framework de test préféré, pytest, ainsi que notre outil de test de performance, Locust.
Vous devrez également préparer un rapport de test et un rapport de performances,
conformément au guide de développement à la fin des spécifications fonctionnelles ci-jointes.
Veillez à suivre toutes les directives, car le QA nous reproche de ne pas respecter les normes.
Vous devez tester de manière approfondie les résultats requis (à la fois les happy paths et les sad paths) pour toutes les fonctionnalités de l'application.
Je vous encourage également à adopter une approche de TDD, car cela vous aidera à rationaliser votre travail.
Une fois que vous aurez terminé, nous ferons un examen de ce que vous avez dans la branche QA du code.
Nous examinerons les rapports et la manière dont vous avez résolu les problèmes,
nous examinerons votre code et nous testerons la couverture de la nouvelle fonctionnalité.
Merci !
-
Why
This is a proof of concept (POC) project to show a light-weight version of our competition booking platform. The aim is the keep things as light as possible, and use feedback from the users to iterate.
-
Getting Started
This project uses the following technologies:
-
Python v3.x+
-
Whereas Django does a lot of things for us out of the box, Flask allows us to add only what we need.
-
This ensures you'll be able to install the correct packages without interfering with Python on your machine.
Before you begin, please ensure you have this installed globally.
-
-
Installation
-
After cloning, change into the directory and type
virtualenv .
. This will then set up a a virtual python environment within that directory. -
Next, type
source bin/activate
. You should see that your command prompt has changed to the name of the folder. This means that you can install packages in here without affecting affecting files outside. To deactivate, typedeactivate
-
Rather than hunting around for the packages you need, you can install in one step. Type
pip install -r requirements.txt
. This will install all the packages listed in the respective file. If you install a package, make sure others know by updating the requirements.txt file. An easy way to do this ispip freeze > requirements.txt
-
Flask requires that you set an environmental variable to the python file. However you do that, you'll want to set the file to be
server.py
. Check here for more details -
You should now be ready to test the application. In the directory, type either
flask run
orpython -m flask run
. The app should respond with an address you should be able to go to using your browser.
-
-
Current Setup
The app is powered by JSON files. This is to get around having a DB until we actually need one. The main ones are:
- competitions.json - list of competitions
- clubs.json - list of clubs with relevant information. You can look here to see what email addresses the app will accept for login.
-
Testing
You are free to use whatever testing framework you like-the main thing is that you can show what tests you are using.
We also like to show how well we're testing, so there's a module called coverage you should add to your project.
-
Flake8 Report