Friday, August 30, 2024

GIS Intership

GIS related software development is my area of interests, so the focus of my intershipe will be on web GIS. Leading up to this semester I had planned to leverage my employment with Clear Science, Inc. and my role as a software developer on their Advance Climate Analysis and Forcasing -Decision Support System (ACAF-DSS), Targed Envirnmental Risk Assesment System (TERAS), and a relativly new product Region/CityWatch - Climate Data as a Service (CliDass) software and services. This opportunity still exists but not as I had originally thought. 

Earlier this year I had transitioned from a typical full-time employment to professional service as full-stack and Java developer for General Dynamics IT (GDIT) and no longer employed with Clear Science, Inc. The owner however wishes to move the TERAS-TC application to a new virtual private server (VPS) to make it publicly available. This project involves update the application, and improve the data extract, transform, load (ETL) process which feeds the application.

Development Stack

The primary front-end framework used for TERAS is Angular, the back end utilizes Flask, a Python web framework, and Postgresql/Postgis for GIS and other data. The continuous integration and delivery (CI/CD) is Jenkins for which all will run as containerized (Docker) services on an using NGINX as the front facing (edge) web server on an Ubuntu Linux server. 

General Project Outline

  1. Install and update Ubuntu Linux
  2. Install and configure Docker
  3. Create the Postgres/PostGIS container
  4. Create the PgAdmin4 Container
  5. Create the Jenkins Container
  6. Setup NGINX
    • Proxy Jenkins
    • Proxy PgAdmin4
  7. Setup the CI/CD for the application's spatial and no spatial data
  8. Migrate the back-end application and upgrade to the latest long term support (LTS) Flask version
  9. Investigate and integrate a Geocoder 
  10. Migrate the front-end application. This involves migrating the current single-page application (SPA) to a server-side rendering (SSR) for better search engine optimization (SEO). Upgrade to the current LTS version.
  11. Monitor and debug the CI/CD ETL processes 
  12. Integrate and configure to deliver the TERAS application proxies by NGINX. 
  13. Monitor and debug
     


No comments: