Code Monkey home page Code Monkey logo

agrosmart-web's Introduction

MVP

Quality Gate Status Coverage CI

Development environment setup

Programas

  1. Docker y Docker Compose
  2. En Windows, Docker Desktop contiene ambos programas.
  3. En Linux, deben instalarse con apt-get. Además hay pasos adicionales.
  4. IDE de Python (por ejemplo, Pycharm Community o Pycharm Professional con la licencia de estudiante)
  5. Python 3.6 o superior
  6. IDE para Vue (Visual Studio Code es gratuito)

Instalación y configuración

  1. Confirmar que Docker funcione (docker run hello-world debe mostrar el mensaje de éxito, y docker-compose --version debe imprimir una versión)
  2. Seleccionar o crear una carpeta raíz (por ejemplo, el escritorio, Descargas o la carpeta Home). En adelante, esta carpeta será llamada PREFIX (por ejemplo, /home/username/Desktop)
  3. Descargar el archivo docker-compose.yml y moverlo a PREFIX.
  4. Crear una carpeta llamada nginx en PREFIX.
  5. Descargar el archivo nginx.conf y moverlo a PREFIX/nginx.
  6. Crear una carpeta llamada projects en PREFIX.
  7. Clonar el repositorio del código en PREFIX (cd ; git clone https://github.com/IS-AgroSmart/AgroSmart-Web). La carpeta se llamará AgroSmart-Web por defecto.
  8. Renombrar AgroSmart-Web a app.
  9. (Opcional) Crear un virtualenv para Python.
  10. Instalar los paquetes indicados en requirements.txt (django, djangorestframework, python-decouple, requests). Se pueden instalar manualmente o ejecutar pip install -r requirements.txt.
  11. En este punto, PREFIX debe contener los siguientes archivos/carpetas:
  12. El archivo docker-compose.yml
  13. Una carpeta nginx con el archivo nginx.conf
  14. Una carpeta projects, vacía
  15. Una carpeta app con el código de la app de Django (core/, templates/, IngSoft1/, manage.py, etc) Y ADEMÁS una carpeta frontend con el código de la aplicación de Vue (HACK) Por ahora, ejecutar npm install en la carpeta PREFIX/app/frontend

Ejecución

  1. Abrir un terminal en la carpeta PREFIX
  2. Ejecutar PREFIX=. docker-compose up para iniciar los servidores de NodeODM (puerto 3000), Geoserver (puerto 8080), PostgreSQL (puerto 5432), Vue (puerto 8001) y Django (puerto 8000), además de Nginx.
  3. El servidor de Django se inicia con los demás cuando se ejecuta docker-compose. Por lo tanto, NO se debe ejecutar el servidor de Django desde Pycharm.
  4. (HACK) Ejecutar python manage.py migrate y python manage.py createsuperuser desde Pycharm. Estos cambios serán detectados por el servidor, pero solamente porque usa una base de datos SQLite y el archivo db.sqlite3 está compartido entre la computadora y el contenedor.
  5. En este punto, se puede visitar http://localhost:X (donde X es el puerto de uno de los servicios activos) para visitarlo. Además, el puerto 80 permite acceder a todos los servicios (http://localhost/nodeodm para NodeODM, http://localhost/geoserver para Geoserver, http://localhost/api, http://localhost/admin y http://localhost/static para Django, y http://localhost para la app de Vue).
  6. Para detener los servidores, presionar Ctrl+C en la consola que muestra los logs de Docker. Si algún servidor no se detiene, PREFIX=. docker-compose down fuerza la detención.

agrosmart-web's People

Contributors

ajgodoy2 avatar daledeleo avatar fersaul avatar gejurier avatar jreyesr avatar manuellecaro 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.