CCCTC Docs

CCCTC Docs

  • Help
Copyright (c) 2019 California Community Colleges Technology Center
Licensed under the MIT license.
A copy of this license may be found at https://opensource.org/licenses/mit-license.php

Developer Tools Portal

This module is developer centric and allows:

  1. Centralized CCCTC documentation pulled and generated at build time.

  2. Quick prototyping and integration testing with other apps/services in stack.

  3. Infrastructure for build/deploy/routing is already done. This deploys to CI and QA Environments:

    CI : http://devportal.ci.ccctechcenter.org/

    QA : http://devportal.qa.ccctechcenter.org/

  4. Demo or debug code deployed to AWS shared services Rancher stack.

NOTE: This module is intended as a toolbox for developers, QA, dev ops and internal staff.

Technologies Used:

Integrations

  • Conductor integration for workflow execution and configuration
  • Keycloak OAuth with Google as IDP (auth to ccctechcenter.org)
  • Document generation from Bitbucket, Confluence, Docs

Documentation:

  • Ascii Doc

Devportal web app

  • Node Server: ExpressJS, react-router
  • Browser Client: ReactJS with responsive material-ui

Examples

  • Spring MVC: Spring Boot Webapp

Configuration

Spring Cloud Config

Following existing examples, the configuration is contained in a separate configuration repo.

  • Cloud-config loads configs from above on application startup.
  • A GIT webhook triggered by a git PUSH, tells cloud-config to update itself from config repo without needing a restart.

See local configs that override git settings in application-local.yml

Show local configs

Building

For local dev, you may not need to run the build.js script to build each component and create the Docker iamge.

Running

NOTE: Each technology above can be run locally as individual processes or packaged together in Docker with the build.js script.

Locally you can run :

  • The React UI with the script nodejs/create-react-app/run.sh
  • The Express Server with the script nodejs/express-server/run.sh
  • See below for the running the spring boot app in the IDE. (NOTE: This is legacy code)

Running in IntelliJ

The Spring MVC app can be run in IntelliJ Run Configuration to be configured as:

    Main class: org.ccctech.devportal.DevPortalWebApp
    VM options: -Dspring.profiles.active=dev,local
    Working Directory: $MODULE_DIR$ 
    Environment Variables: 

Running in Docker

Docker Configuration

Docker network

To allow multiple services to communicate with each other, they must all join the same docker network. Ensure the 'ccctc' network is created locally by running the below:

docker network create ccctc

Running Docker

From the module root directory, start the container with:

docker-compose up

Stopping Docker

With the above docker-compose command, you can CTRL-C to stop the processes. To ensure proper cleanup, follow that with:

docker-compose down
  • Technologies Used:
  • Configuration
    • Spring Cloud Config
  • Building
  • Running
    • Running in IntelliJ
    • Running in Docker