Skip to content

Commit

Permalink
feat: enhance client template repository
Browse files Browse the repository at this point in the history
  • Loading branch information
jimbrig committed Aug 5, 2024
1 parent ca46ec9 commit f27e534
Show file tree
Hide file tree
Showing 31 changed files with 183 additions and 5 deletions.
5 changes: 5 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Git Sub Modules

# [submodule "submodule"]
# path = src/<submodule>
# url = https://github.com/noclocks/<submodule>.git
16 changes: 16 additions & 0 deletions .vscode/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# VSCode Folder

> [!NOTE]
> The `.vscode` directory contains files that are used to configure Visual Studio Code for the repository.
The `.vscode` directory contains the following files:

- [`extensions.json`](./extensions.json): A default `extensions.json` file that can be used to install recommended extensions for the repository.

- [`settings.json`](./settings.json): A default `settings.json` file that can be used to configure settings for the repository.

- [`launch.json`](./launch.json): A default `launch.json` file that can be used to configure launch configurations for the repository.

- [`tasks.json`](./tasks.json): A default `tasks.json` file that can be used to configure tasks for the repository.

- [`README.md`](./README.md): A default `README.md` file that can be used to provide information about the `.vscode` directory.
1 change: 1 addition & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{}
3 changes: 3 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"configurations": []
}
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{}
Empty file added .vscode/tasks.json
Empty file.
5 changes: 2 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
# Changelog

> All notable changes to this project will be documented in this file. The format is based on
[Keep a Changelog](http://keepachangelog.com/) and this project adheres to
[Semantic Versioning](http://semver.org/).
> All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/)
> and this project adheres to [Semantic Versioning](http://semver.org/).
## [Unreleased]

Expand Down
22 changes: 20 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,20 @@
# template-client-repo
Template Client Repository
# Template Client Repository

> [!NOTE]
> This is a template repository for a high-level *client repository* meant to store all client-related files and assets as well as any potential
> projects and/or source code in the form of a git-submoduled mono-repo.
> [!WARNING]
> This repository is meant to be used as a template for creating a new client repository and should not be used as a client repository itself.
***

## Contents

- [admin](admin/): Administrative Files
- [brand](brand/): Client Brand Assets
- [config](config/): Configuration Files
- [data](data/): Data Files
- [docs](docs/): Documentation
- [src](src): Client Project Source Code
- [tools](tools/): Tools
Empty file added admin/README.md
Empty file.
13 changes: 13 additions & 0 deletions brand/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Client Brand

> [!NOTE]
> Store client brand assets here. This includes logos, color palettes, fonts, images and other asociated or derived
> branding assets for the client.
## Contents

- [logos](logos/): Client Logos
- [colors](colors/): Client Color Palettes
- [fonts](fonts/): Client Fonts
- [images](images/): Client Images
- [other](other/): Other Branding Assets
8 changes: 8 additions & 0 deletions config/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# example dotenv

# Database
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=postgres
POSTGRES_HOST=db
POSTGRES_PORT=5432
12 changes: 12 additions & 0 deletions config/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Configuration

> [!NOTE]
> Store configuration files here. This includes configuration files for the data processing pipeline, models, and other
> code used in the project.
>
> Typical configuration files include a primary `config.yml`, cloud `credentials.json`, tool-specific configuration files (i.e. `slack.yml`),
> and other configuration files specific to the client or client project(s).
## Contents

- [config.template.yml](config.template.yml): A template configuration file that can be used to create a `config.yml` file.
Empty file added config/config.encrypted.yml
Empty file.
12 changes: 12 additions & 0 deletions data/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Data

> [!NOTE]
> Store data here. This includes raw data, working data, metadata, and reference data.
## Contents

- [Cache](cache/README.md)
- [Metadata](metadata/README.md)
- [Model](model/README.md)
- [Reference](reference/README.md)
- [Working](working/README.md)
8 changes: 8 additions & 0 deletions data/cache/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Cache

> [!NOTE]
> Store `cache` data here, or *interim* data that is generated during the data processing pipeline and cached to speed up
> processing. Typically anything in this folder will be `.gitignore`'d.
>
> For `R` projects, we use the `qs` (quick serialization) package to cache data. This is a good practice to speed up
> processing and avoid re-running expensive data processing steps.
5 changes: 5 additions & 0 deletions data/metadata/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Metadata

> [!NOTE]
> Store metadata here. This includes information about the data, such as data sources, data dictionary, data issues,
> data processing, and data transformation.
21 changes: 21 additions & 0 deletions data/model/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Data Model (Schema)

> [!NOTE]
> Store the *data model* here. This is not relevant for all projects, but is useful for projects that have a
> database or data structures that need to be documented.
## Conceptual Data Model

Describe the high-level data model here.

## Logical Data Model

Describe the logical data model here.

## Physical Data Model

Describe the physical data model here.

## Database Schema

Describe the database schema here.
Empty file added data/model/model.dbml
Empty file.
Empty file added data/model/model.postgres.sql
Empty file.
33 changes: 33 additions & 0 deletions data/original/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Original Data

> [!NOTE]
> Store `raw` data recieved from the client here.
> This data should be stored in its original format and should not be modified in any way.
## Data Sources

- [Data Source 1](https://www.example.com/data1)

## Data Dictionary

- `column1`: Description of column1
- `column2`: Description of column2
- `column3`: Description of column3

## Data Issues

- Issue 1
- Issue 2
- Issue 3

## Data Processing

- Step 1: Description of step 1
- Step 2: Description of step 2
- Step 3: Description of step 3

## Data Transformation

- Transformation 1: Description of transformation 1
- Transformation 2: Description of transformation 2
- Transformation 3: Description of transformation 3
5 changes: 5 additions & 0 deletions data/reference/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Reference Data

> [!NOTE]
> Store `reference` data here. This includes any data that is used as a reference in the project, such as lookup tables, code
> lists, or other data that is used to enrich or augment the data.
8 changes: 8 additions & 0 deletions data/working/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Working Data

> [!NOTE]
> Store `working` data here. This is data that has been cleaned, transformed, processed, and is ready for analysis.
> Do not store any raw data in this folder. This data should be stored in the `original` folder.
> [!WARNING]
> Any manual steps taken to clean or transform the data should be documented.
Empty file added docs/about.md
Empty file.
Empty file added docs/decisions/00-template.md
Empty file.
Empty file added docs/decisions/index.md
Empty file.
Empty file added docs/development/index.md
Empty file.
Empty file added docs/development/techstack.md
Empty file.
Empty file added docs/index.md
Empty file.
Empty file added docs/team.md
Empty file.
6 changes: 6 additions & 0 deletions src/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Source Code

> [!NOTE]
> Store source code here. For client repositories, this will typically be code held in other repositories and
> referenced as submodules. For internal repositories, this will be the code that is used to generate the data
> processing pipeline, models, and other code used in the project.
4 changes: 4 additions & 0 deletions tools/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Tools

> [!NOTE]
> Store tools here. This includes scripts, software, and other tools used in the project.

0 comments on commit f27e534

Please sign in to comment.