Giter Club home page Giter Club logo

abraxas-task-1's Introduction

Abraxas Task

En este repositorio encontrán una API Rest desarrollada en Python con el framework Django y Django Rest Framework, así mismo se incluye archvo Dockerfile para el contendor de la django y Docker-compose para la orquestación de la base de datos en PostgreSQL y la web app en Django.

Comenzando 🚀

Estas instrucciones te permitirán obtener una copia del proyecto en funcionamiento en tu máquina local para propósitos de desarrollo y pruebas.

Se define el modelo Task de la siguiente forma:

  description
  date_task
  duration
  status
  time_total

El campo status se deifne como entero, con el fin de poder realizar ordenamiento del listado de tareas mediante este campo, los números que se utilizan son:

  1 -> pending
  2 -> complete

El campo date_task nos sirve para poder asignarle la fecha en que hará la tarea al usuario que creó la misma, no se contempla la asignación de tareas por parte de un tercer usuario con mayor privilegios (permisos). Así mismo, podrémos realizar búsquedas de tareas mediante una fecha establecida.

Los datos que se ven en el listado y en las búsquedas son paginados y está establecido que son 10 datos que mostrará por página.

Pre-requisitos 📋

Es necesario tener instalados los siguiente programas para poder tener un entorno de desarrollo y hacer pruebas de forma local

 -Python
 -Docker
 -Docker-compose

Instalación de Docker en Fedora 32/33 🔧

Para poder realizar la instalación de los Docker en Fedora 32/33 se deberán seguir los siguientes pasos

1. Actualizar los plugins de Fedora con el comando:
     1. sudo dnf -y install dnf-plugins-core
2. Agregar el repositorio de docker al administrador de configuraciones de Fedora.
     1. sudo dnf config-manager \ --add-repo \ https://download.docker.com/linux/fedora/docker-ce.repo
3. Instalando la última versión del motor de Docker:
     1. sudo dnf install docker-ce docker-ce-cli containerd.io_

Comprobamos que se haya instalado correctamente Docker con los siguientes comandos

1. Iniciar el demonio de Docker con el comando:
     1. sudo systemctl start docker
2. Verificamos que el motor de docker se haya instalado correctamente:
     1. sudo docker run hello-world

Si la instalación fue correcta nos debe aparecer la siguiente leyenda:

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/

For more examples and ideas, visit:
https://docs.docker.com/get-started/

Instalación de Docker-Compose

Para realizar la instalación de docker-compose, ya debemos de tener instalado Python, debido a que se utiliza el gestor de paquetes Pip, y Docker Engine.

Ejecutamos el siguiente comando para poder realizar la instalación de docker-compose.

  sudo pip install docker-compose

Ejecutando el contendor con docker-compose ⚙️

Para ejecutar nos dirigimos en la terminal al path en donde se encuentra nuestro proyecto y ejecutamos los siguientes pasos:

  1. docker-compose build

Este comando nos construirá los contenedores que se especificaron en el archivo docker-compose.yml, esperamos a que se termine de ejecutar el comando. Una vez que se terminó de construir nuestro contenedor, procedemos a ejecutar el siguiente comando:

  2. docker-compose up

Este comando nos ayuda a levantar los contenedores, crea la conexión de red, la base de datos y ejecuta los comandos especificados en el apartado command del archivo docker-compose.yml, estos comandos que se ejecutan sirven para crear las migraciones, migrarlas a la base de datos y levantar el servicio de Django.

Analice las pruebas funcionales 🔩

Estas pruebas nos proporcionan el buen uso de los endpoints creados para el manejo de las consultas en el proyecto Se realizan pruebas para las diferentes consultas GET, POST, PUT, PATCH, DELETE

Construido con 🛠️

Autor ✒️

abraxas-task-1's People

Contributors

eduardoagreda avatar

Watchers

James Cloos avatar

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.