# ${projectname.upper()}

```${figleted}```

${hashes} Table of Contents

- [${projectname.upper()}](#projectnameupper)
  - [Table of Contents](#table-of-contents)
  - [About The Project](#about-the-project)
  - [Getting Started](#getting-started)
    - [Prerequisites](#prerequisites)
    - [Installation](#installation)
  - [Usage](#usage)
  - [Roadmap](#roadmap)
  - [Contributing](#contributing)
  - [License](#license)
  - [Contact](#contact)
  - [Acknowledgements](#acknowledgements)

${hashes} About The Project

template

${hashes} Getting Started

To get a local copy up and running follow these simple steps.

${hashes}# Tech Stack

Tis project  uses the following core packages:

1. [Pydantic](https://pydantic-docs.helpmanual.io)


${hashes}# Prerequisites

In order to be able to install, run and develop with this App requires:

1. Git - so the repo can be cloned
2. Python >= 3.8 (we reccomend using [pyenv](https://github.com/pyenv/pyenv#installation) to manage python versions)
3. [Pipenv](https://pipenv.pypa.io/en/latest/) as the virtual env and dependency manager

${hashes}# Installation

1. Clone the repo and cd into the top level
2. Install the the dependencies and dev dependencies with `pipenv install -d`

${hashes} Usage

### Git Flow

we use [Semantic Commits](https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716) for branch creation and commit messages

example:

```bash
$ git checkout develop
$ git pull
$ git checkout -b feat/some-feature
$ git add .
$ git commit -m "feat: feature description"
$ git push -u origin feat/some-feature
```

and then create pull request to develop branch

![deployment flow](./doc/images/git-flow.jpg)

${hashes} CI/CD, Build, Test and Deployment

We use Gitlab CI/CD to run the deployments.
The .gitlab-ci config is here: [gitlab-ci](./.gitlab-ci.yml)

${hashes}# Test

We use pytest to run the test cases in [test](./test/). If you are using vscode, the automated pytest will be configured for you throguh the setting in the [.vscode](./.vscode/) folder

Prior to deploying, the testing can be run using `sh test.sh` to run and generate the test diffs, and determine if the outputs require updating.

Examples

_For more examples, please refer to the [Documentation](https://)_

${hashes} Roadmap

See the [open issues](https://) for a list of proposed features (and known issues).

${hashes} Contributing

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**.

1.

${hashes} License

None. See 'LICENSE' for more information.

${hashes} Contact

Your Name - [@](https://twitter.com/) - email

Project Link: [https://](https://)

${hashes} Acknowledgements

- [blank](link)
