Skip to content

focusconsulting/focus-bootstrap

Repository files navigation

Bootstrap

Table of contents

Documentation

Technical documentation for this project can be found in docs and includes information around the various technical decisions that have been made on the project as well as any standard operating procedures.

Developer Setup

IDE

Any idea can be used, but it is recommended to use VS Code as it has been verified to work the variety of tooling and has first-party plugins for the variety of build tools used by the repository.

The repository comes with settings configured as well as a recommended set of plugins to install

  1. Install the relevant dependencies
  2. Set up the pre-commit hooks
  3. Run npm start
  4. Verify that the expected urls are available
  5. Navigate to the other directories to setup the relevant pieces of the application

Installing dependencies

In order to work on this repository there are a handful of tools that you will need to install.

This project requires both python and nodejs and these can be easily installed and managed with a tool called asdf and the relevant plugins

Dependencies to install:

Pre-commit hooks

This project makes use of a pre-commit hook that will check any staged files for linting and formatting and prevent a commit if anything does not pass. In order to have the commit hooks, you'll need to run in the root directory.

npm install

Using DevContainers

This repository supports development using development containers removing the need to install any other dependencies on your system and this tool is supported by a wide variety of IDEs. This removes the need to install any dependencies locally and instead your development will happen inside the container. IDEs like VSCode will then seamlessly tunnel into the container so that the experience would be the same as if the tools were installed natively.

This is highly recommend if you are developing on a Windows or Linux machine

Directory Structure

└── docs              Technical documentation for the project
└── api               The API
└── client            The user experience that interacts with the API
└── infrastructure    Infrastructure config and mock external API configuration