Skip to content

EddieHubCommunity/HealthCheck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Note

This project is sponsored by the Open Source project Flagsmith https://github.com/Flagsmith/flagsmith

Feature flags have so many benefits, remote config, testing in production and so much more!

HealthCheck

HealthCheck RepoRater GitHub code size in bytes GitHub contributors Discord OpenSSF Scorecard

How friendly is your GitHub Open Source Repo? This project will check to make sure you are using Best Practices to attract more users, contributors and Stars, as well as suggest steps as to how you can improve the Repo to achieve this.

Screenshot of repo checks

Features

  • GitHub OAuth
  • Integration with Flagsmith
  • Add GitHub repo URL
  • List of checks and show detailed report
  • Badges to show latest status in project's README
  • ...

Usage

  1. Login with your GitHub (only public info required)
  2. Add GitHub repo URL
  3. Run HealthCheck against repo and view the report (if you have permissions on the repo, you will see more statistics)
  4. Add a HealthCheck badge to your project

Quickstart guide for local development

Caution

Node v21+ is required

  1. Clone this GitHub Repo

  2. Install the dependencies with npm ci

  3. Copy .env.example to .env (you will need an environment key from Flagsmith, this is shown later on)

  4. Create a free account on Flagsmith https://www.flagsmith.com (you can also sign in with GitHub)

  5. Create an Organisation and Project

  6. Create the Feature Flags with these steps

    a. Create the feature tagline by clicking Create Feature

    Create feature screenshot

    b. Fill in the Feature Flag form with these details and click Create Feature

    Save feature flag screenshot

    c. (OPTIONAL) Import the flags to your Flagsmith account using the file src/config/flagsmith.json (note this will be per environment, for example development)

    Import flags on Flagsmith

  7. Flagsmith keys

    a. Get your environment client-side key from Flagsmith and add to .env file

    How to get environment key

    b. Also create your environment server-side key from Flagsmith and add to .env file

  8. To be able to log in using GitHub OAuth

    a. create a GitHub OAuth app on GitHub https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app

    GitHub OAuth app

    b. In your GitHub OAuth app, GitHub will generate the client id and client secret, add these to your the .env file

  9. Run the project with one of these

    a. If you have Postgres installed, you can run the app locally npm run dev OR

    b. Running with Docker Compose (Recommended if you don't have Postgres installed)

    1. Once you done above steps and have the .env file ready
    2. Run the command docker compose up -d
    3. Once the containers are ready, run the command npm run db:migrate:dev
    4. Visit http://localhost:3000 in your browser

    c. Running in Github Codespaces

    1. Start a new codespace
    2. Run npm ci and npm run dev
    3. When the project is running in the browser visit this and copy the generated URL. You will use this URL in place of localhost in step 8 above for creating your OAuth app
    4. Update the environment file with your client id and secret. Make sure to also update the NEXTAUTH_URL= to the generated codespace URL as well.
    5. Continue with step 9b to run the docker container and database migration.