Skip to content

Instantly share code, notes, and snippets.

@jdecode
Created September 24, 2020 08:52
Show Gist options
  • Save jdecode/a87c6631c533a13410380113e128b645 to your computer and use it in GitHub Desktop.
Save jdecode/a87c6631c533a13410380113e128b645 to your computer and use it in GitHub Desktop.
How to setup a project in ucreate

These are notes (mostly in comments) about the steps that are taken while setting up a new project

  1. Create Slack channel (internal, for developers/ucreate team/integration of tools)
  2. Add team members, and introduce the team
  3. Add "Integrations Bot" user (the "bot" user that will have the permissions for :reviewee: notifications)
  4. Setup GitHub repos (multiple, in case of separate client/server setups), and add people to the repo
@jdecode
Copy link
Author

jdecode commented Sep 24, 2020

  1. TDD setup (with code-coverage analysis)
    1. Framework is setup
    2. Hello world (or any other "test") is executed - that confirms the setup
  2. Postman setup (with credit card account)
  3. Setup "Newman" to run against Postman collection URL (using Postman Token)

@jdecode
Copy link
Author

jdecode commented Sep 24, 2020

Missed earlier:
Use Boilerplates for deployments (PHP, Nodejs, R.JS, RN)

@jdecode
Copy link
Author

jdecode commented Sep 25, 2020

New Relic:

  1. Install (1-click installation from Heroku)
  2. Ensure that the APM package is selected (and language/framework specific instructions are followed wherever necessary)
  3. Check Apdex score (should be > 0.9)
  4. Alerts are enabled (as deemed fit by the team - someone needs to fill this part with specifics - "alert guide")
  5. Time value is decreased by 1% every 2 weeks (thus allowing Apdex score to increase)

@jdecode
Copy link
Author

jdecode commented Sep 25, 2020

Papertrail:

  1. Configured through Heroku
  2. Alerts are enabled (again, need to be specific here - "alert guide")
  3. Filter HTTP status codes to remove from logging (200, at the very least, for static content - JS/CSS/app-icons/images etc)
  4. Ensure that the team is aware of different types of errors (H12, H13 etc) - how to ensure this?

@jdecode
Copy link
Author

jdecode commented Sep 25, 2020

Dynos:

  1. No free dynos on UAT or Production environments : Go for the basic version that does not "sleeps" after 30 minutes
  2. Dyno usage for any duration (last 24 hours, last 2/3/7 days etc) must be less than 30%

@jdecode
Copy link
Author

jdecode commented Sep 25, 2020

Pre push/commit hooks:

  1. Code linters are installed and set to check for common issues
  2. The same configuration must be executed at CircleCI (or whichever CI tool is used) and any issue due to a failed Linter check must be reviewed by more than 1 reviewer, and the cause must be identified and respective developer must be explained the process again - ensuring that the same issue is not repeated
  3. Unit test cases must be executed here
  4. Postman test cases must be executed here
  5. A pre-identified code-coverage %age must be adhered to at this point of time, and unable to do so must disable the commit to be committed/pushed

@jdecode
Copy link
Author

jdecode commented Feb 25, 2022

README file in GitHub

  1. Steps mentioned in README file should be perfect - no typos, no incorrect commands, no incorrect sequence of commands
  2. OS/App dependencies must be clearly mentioned (software versions)
  3. If there are ENV VARS that are to be fetched from a 3rd party provider, steps to get those must be included

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment