Skip to content

Commit

Permalink
chore: initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
IGassmann committed Jul 21, 2022
0 parents commit d7f7e8a
Show file tree
Hide file tree
Showing 52 changed files with 7,178 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .browserslistrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Target browsers
>0.3%
not dead
not IE 11
not op_mini all
3 changes: 3 additions & 0 deletions .cz.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"path": "@commitlint/cz-commitlint"
}
2 changes: 2 additions & 0 deletions .env.development
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
NEXT_PUBLIC_API_BASE_URL=
NEXT_PUBLIC_SEGMENT_ANALYTICS_WRITE_KEY=
2 changes: 2 additions & 0 deletions .env.production
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
NEXT_PUBLIC_API_BASE_URL=
NEXT_PUBLIC_SEGMENT_ANALYTICS_WRITE_KEY=
25 changes: 25 additions & 0 deletions .eslintrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
extends:
- airbnb
- airbnb-typescript
- next/core-web-vitals
- prettier
rules:
react/function-component-definition: off
react/jsx-props-no-spreading: off
react/require-default-props: off
jsx-a11y/anchor-is-valid:
- error
- components:
- Link
specialLink:
- to
aspects:
- invalidHref
- preferButton
overrides:
- files:
- '**/*'
parser: '@typescript-eslint/parser'
parserOptions:
project: ./tsconfig.json
warnOnUnsupportedTypeScriptVersion: false
12 changes: 12 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
version: 2
updates:
- package-ecosystem: 'npm'
directory: '/'
schedule:
interval: 'monthly'
ignore:
- dependency-name: '@types/node'
reviewers:
- 'IGassmann'
assignees:
- 'IGassmann'
49 changes: 49 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<!--- Provide a general summary of your changes in the title -->
<!--- above using the project's commit convention format. -->
<!--- If the pull request contains multiple types of changes, -->
<!--- e.g.: feat and refactor, split the pull request into multiple ones. -->

## Description
<!--- Describe your changes in detail. -->

## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here. -->
<!--- If it is related to user stories, please link to the relevant user stories here. -->

## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran to -->
<!--- see how your change affects other areas of the code, etc. -->

## Screenshots (if appropriate)

## Checklist
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. -->
- [ ] My changes meet the acceptance criteria of the mentioned user stories and issues.
- [ ] My code follows the conventions of this project.
- [ ] I have updated the documentation accordingly.
- [ ] I have added tests to cover my changes.
- [ ] I have reviewed the PR myself before submitting it for review.

## Deployment Notes

<!--- Notes regarding deployment of the contained body of work. -->
<!--- These should note any new dependencies, new scripts, etc. -->

**New environment variables**:

- `ENV_VAR_NAME`: env var details

**New scripts**:

- `script-name`: script details

**New dependencies**:

- `dependency@ˆx.x.x`: dependency details

**New dev dependencies**:

- `dependency@ˆx.x.x`: dependency details
17 changes: 17 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Node dependencies
node_modules/

# Build output
/dist/

# Test coverage output
/coverage/

# Local environment variables
.env*.local

# Vercel project linking configuration
/.vercel

# Type check build info
*.tsbuildinfo
4 changes: 4 additions & 0 deletions .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx commitlint --edit $1
4 changes: 4 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx lint-staged
6 changes: 6 additions & 0 deletions .husky/prepare-commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

COMMIT_SOURCE=$2

if [ -z "$COMMIT_SOURCE" ]; then exec < /dev/tty && npx cz --hook || true; fi
4 changes: 4 additions & 0 deletions .log4brains.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
project:
name: Web App Template
tz: America/New_York
adrFolder: ./docs/architectural-decisions/
2 changes: 2 additions & 0 deletions .prettierrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
singleQuote: true
printWidth: 100
70 changes: 70 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Web App Template

Web app template built with [Next.js](https://nextjs.org/).

## Getting Started

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

### Prerequisites

Install the following tools:

- [Git](https://git-scm.com/downloads)
- [Node.js](https://nodejs.org/en/download/) (see version in the `engines` field of [`package.json`](./package.json))
- [Yarn](https://yarnpkg.com/en/docs/install) (see version in the `engines` field of [`package.json`](./package.json))

### Setup

1. Clone this repository
2. Install dependencies by running `$ yarn`
3. Set up local environment variables by running `$ cp .env.development .env.local`
4. Run `$ yarn dev`

## Development

### Code Linting

Code linting is handled by [ESLint](https://eslint.org/). It's configured to follow [Airbnb
JavaScript Style Guide](https://airbnb.io/javascript/). You can use the following command for
linting all project's files:

```sh
$ yarn lint
```

Staged files are automatically linted before commits. Be sure to **fix all linting errors before
committing**.

Editor integrations are available [here](https://eslint.org/docs/user-guide/integrations).

### Code Formatting

Code formatting is handled by [Prettier](https://prettier.io/). You can use the following command
for formatting all project's files:

```sh
$ yarn format
```

Staged files are automatically formatted before commits.

Editor integrations are available [here](https://prettier.io/docs/en/editors.html).

## Documentation

### Architecture Decision Record

This project uses ADRs for documenting architecture decisions. See
[the relevant ADR](./docs/architectural-decisions/20211230-use-markdown-architectural-decision-records.md)
for learning more.

- [Project ADRs](./docs/architectural-decisions)

### REST API Guidelines

Our REST APIs should follow our internal [REST API Guidelines](./docs/api-guidelines.md).

## Roadmap

You can check the product's roadmap on [Linear](https://linear.app/).
24 changes: 24 additions & 0 deletions UNLICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
This is free and unencumbered software released into the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.

In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

For more information, please refer to <https://unlicense.org>
45 changes: 45 additions & 0 deletions commitlint.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import type { UserConfig } from '@commitlint/types';

const Configuration: UserConfig = {
extends: ['@commitlint/config-conventional'],
rules: {
'type-enum': [
2,
'always',
[
'feat',
'fix',
'refactor',
'rewrite',
'perf',
'docs',
'style',
'test',
'build',
'config',
'chore',
'revert',
],
],
},
prompt: {
questions: {
type: {
enum: {
rewrite: {
description: 'A re-implementation of an existing functionality',
title: 'Rewrites',
emoji: '🔄',
},
config: {
description: 'A change to the configuration of the repository and tools',
title: 'Configuration',
emoji: '🔧',
},
},
},
},
},
};

module.exports = Configuration;
Loading

0 comments on commit d7f7e8a

Please sign in to comment.