Giter Site home page Giter Site logo

is219finalprojecttest's Introduction

Project Setup

Production Workflow 1

Development Workflow 3.8

Setting up CI/CD

This is a user registration/login app, where users receive an email confirmation of account creation using the sendgrid api

The result of this will be that when you create a pull request to merge a branch to master, it will deploy to your heroku development app/dyno and when you merge or push to master on github, it will deploy the app to the production heroku app/dyno.

Instructions

  1. Clone this repo to your local (DO NOT FORK THIS REPO, IF YOU DO YOU HAVE TO ENABLE ACTIONS BEFORE ANYTHING RUNS)
  2. Create a new repo on your own Github account
  3. Change the origin by replacing it with your own new repo. (Do not add a readme or any other file while creating the repository)
  4. Create an account with Heroku, create an app for production and an app for development
  5. Create a new repo in Docker hub

Setup Docker and Heroku Credentials In the Repository Settings under Action -> Secret

  1. In your newly created Github repository, add new repository secrets for DOCKER_USERNAME, DOCKER_PASSWORD, HEROKU_API_KEY (Values are DOCKER_USERNAME: your docker hub username; DOCKER_PASSWORD: your docker hub password; HEROKU_API_KEY: API key from the heroku app)

GitHub Notes: Set the action secrets repository in: -> settings -> actions -> secrets

Heroku Notes: Get the heroku API key from account in: -> applications -> create authorization button

Change GitHub Actions Workflows for Dev and Prod

  1. Change line 42 to have your docker repo address in: .github/workflows/prod.yml
  2. change lines 58 to have your heroku app name in: .github/workflows/prod.yml
  3. change line 59 to have your heroku email in: .github/workflows/prod.yml
  4. change line 31 to have your heroku app name in .github/workflows/dev.yml
  5. change line 32 to have your heroku email in .github/workflows/dev.yml
  6. Push code to your local repo and check for any errors and fix any errors that appear when the workflow is running. You can check the workflow in the actions.

Running Locally

  1. To Build with docker compose: docker compose up --build
  2. To run tests, Lint, and Coverage report use this command: pytest --pylint --cov

.pylintrc is the config for pylint, .coveragerc is the config for coverage and setup.py is a config file for pytest

Future Notes and Resources

is219finalprojecttest's People

Contributors

njsal avatar

Stargazers

ruskzhou avatar

Watchers

 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.