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.8Para 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: bionicLocalizamos el directorio donde deseamos bajar este repositorio y ejecutamos lo siguiente:
~$ git clone git@github.com:vidaldev/3en1-Python.gitPuedes 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.txtPara correr las pruebas basta con situarse en el directorio del proyecto y ejecutar
~$ python3 main.pyPara 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