Este repositorio pertenece a un reto que consiste en construir la misma aplicación en 3 lenguajes diferentes. Los lenguajes elegidos fueron los siguientes
- Python [ repositorio | live ]
- NodeJS [ repositorio | live ]
- PHP [ repositorio ]
La única regla es que el flujo de tareas y navegación que siguen los usuarios para completar las tareas sea el mismo en los 3 lenguajes. Puedes elegir los que más te gusten. Puedes seguir diferentes paradigmas, principios y buenas prácticas de programación. Pero la aplicación debe verse absolutamente igual en los 3 proyectos.
Link del reto aqui
3er lugar 🎖️ (resultados aquí)
Tema principal es un API REST CRUD sobre alquiler de vehículos, todos los proyectos apuntan a una base de datos en firebase, tiene sistema a AUTH. En la introducción de este documento se ha explicado donde encontrar cada proyecto y donde puedes ver el proyecto funcionando perfectamente.
Para este proyecto se usaron las siguientes versiones con los siguientes modulos/plugins:
El resto de los modulos que necesitaremos estan en requirements.txt
. Espero no estar olvidando alguno, de ser así no te preocupes, al momento de la instalación te solicitará instalarlo.
Para saber la versión de tu python:
~$ python3 -V
Python 3.6.8
Para saber la versión de tu pip:
~$ pip3 -V
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)
Para saber la version de tu linux:
~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.3 LTS
Release: 18.04
Codename: bionic
Localizamos el directorio donde deseamos bajar este repositorio y ejecutamos lo siguiente:
~$ git clone git@github.com:vidaldev/3en1-Python.git
Puedes hacer un fork en caso de tu poseer una cuenta github (acepto mejoras de código). Luego de esto ingresa a la carpeta:
~$ cd 3en1-Python
/3en1-Python ~$ pip3 install -r requirements.txt
Para correr las pruebas basta con situarse en el directorio del proyecto y ejecutar
~$ python3 main.py
Para todos los request de manera obligatoria deben ir el correo y la contraseña
DESCRIPCION | URL | METODO | PARAMETROS |
---|---|---|---|
Comprobar usuario | /login | GET | email, password |
Crear usuario | /createUser | POST | email, password |
Recuperar Clave | /forgotPassword | POST | |
Abrir un alquiler | /alquilar | POST | email, password, modelo, marca, year, color, responsable |
Cerrar un alquiler | /cerrarAlquiler | POST | email, password, id (Del alquiler abierto), filtro (entregado) |
Corregir datos del alquiler | /corregirDatos | POST | email, password, id (Del alquiler), parametros a corregir (modelo, marca, year,color, responsable) |
Listar todos los alquileres | /alquileres | POST | email, password, filtro (entregado, pendiente o todo) |
Listar todos los alquileres del usuario | /alquileres/user | POST | email, password, filtro (entregado, pendiente o todo) |
No olvides configurar el archivo config/config.py
y descargar el config/ServiceAccountKey.json
de tu cuenta firebase