The Containerization and Cloud Economic Model makes financial sense of adopting cloud-based infrastructure.
A model for analyzing the business case to move from a legacy waterfall on-premise application hosting model to an agile open-source pipeline moving from a staging ground that is containerized on-premise to eventual commercial cloud hosted.
A Vue Frontend (single page application) asks questions which are used to complete an Excel spreadsheet template. Results are provided by email. Common Services APIs are used for GETOK (internal authentication), CDOGS (document generation) and CHES (email).
This project started as a fork of the Common Services Team's Common Forms Toolkit.
Technologies:
Services:
Linux and OS X's bash terminals may be used as-is.
Windows Substem for Linux v2 is strongly recommended for Windows development.
Common Services provides various APIs for used by the Government of British Columbia. Please see their project documentation to receive a client ID and secret.
This is the recommended development method. When running Vue and nodemon will live reload the application as code is modified.
Install Docker and Docker Compose
Clone, open and view the repo's contents, including hidden files
git clone https://github.com/<ORGANIZATION>/<REPOSITORY>.git
cd <REPOSITORY>
ls -la
Export client ID and secret for consumption by the backend
export CLIENT_ID="<REDACTED>"
export CLIENT_SECRET="<REDACTED>"
Fire up Docker Compose
docker-compose up
Open the application. Frontend is the intended entry point.
Although a much less consistent and predictable development experience the application can be run on bare-metal with Node.js. Vue and nodemon live reloading remains present. In place of the docker-compose up
step:
Install Node.js 10+
Start the Backend API in development mode
cd backend
npm install
npm run dev
Start the Frontend Vue App (requires a new terminal session)
cd frontend
npm install
npm run serve
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire and create. Any contributions you make are greatly appreciated. Please see CONTRIBUTING.md for more information.
Fork the Project. Do this online using a GitHub account
Create and Push your Feature Branch
git checkout -b feature/featureTitle
git push -u origin feature/featureTitle
Add and Commit your Changes
git add file_or_path
git commit -m "Description of feature or change"
Push to the Branch Regularly
git push
Open a Pull Request online
Be inclusive and respectful. More information is available in CONDUCT.md.
Distributed under the MIT License. See LICENSE.txt for more information.