Skip to content

Commit

Permalink
feat: first commit
Browse files Browse the repository at this point in the history
Signed-off-by: jamesp918 <jamesp@botlet.io>
  • Loading branch information
jamesp918 committed Mar 17, 2024
1 parent ea6f9fd commit b483a9c
Show file tree
Hide file tree
Showing 115 changed files with 13,707 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.vscode/
node_modules/
dist/
npm-debug.log
40 changes: 40 additions & 0 deletions .env.dev
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
TZ=Etc/Universal
SITE_ROOT_DOMAIN=localhost
SITE_API_URL=http://${SITE_ROOT_DOMAIN}:3000/api

LOG_LEVEL=debug
# default to stdout
# LOG_FILE_PATH=
# async log buffer length
LOG_BUFFER_LENGTH=4096

LOG_LEVELS_PRISMA=["query","info","warn","error"]

ALLOW_CORS=1

POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=botlet

# See https://www.prisma.io/docs/concepts/database-connectors/postgres
DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@nest-postgres:5432/${POSTGRES_DB}?schema=public&timezone=UTC
# To have acccess to the database container from your local machine
# use the DATABASE_URL below which replaces nest-postgres (container name) with localhost
DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@localhost:5432/${POSTGRES_DB}?schema=public&timezone=UTC

DEFAULT_API_VERSION='1'
DOCUMENTATION_VERSION='0.0.1' # DEV_ONLY no doc/test data generated if null

JWT_COOKIE_NAME=jwt # empty means no cookie
# NOT_HTTP_ONLY=1
JWT_SECRET='DENGER-NON-production-jwt-secretDENGER-NON-production-jwt-secretDENGER-NON-production-jwt-secretDENGER-NON-production-jwt-secretDENGER-NON-production-jwt-secret'
JWT_EXPIRES_IN='1y'
JWT_REFRESH_EXPIRES_IN='1y'

# need scope to get user email
GITHUB_OAUTH_CLIENT_ID = 9e5e10cb375a563438e0
GITHUB_OAUTH_CLIENT_SECRET = 76dc98b5554636b5c924cd4854ad3f62e4f0cc3b

# need scope to get user email
GOOGLE_OAUTH_CLIENT_ID = 183236050953-rg2khnknb0tif2a5urepho0k22call16.apps.googleusercontent.com
GOOGLE_OAUTH_CLIENT_SECRET = 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
39 changes: 39 additions & 0 deletions .env.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
TZ=Etc/Universal
SITE_ROOT_DOMAIN=localhost
SITE_API_URL=http://${SITE_ROOT_DOMAIN}:3000/api

LOG_LEVEL=debug
# default to stdout
# LOG_FILE_PATH=
# async log buffer length
LOG_BUFFER_LENGTH=4096

LOG_LEVELS_PRISMA=["query","info","warn","error"]


POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=botlet

# See https://www.prisma.io/docs/concepts/database-connectors/postgres
DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@nest-postgres:5432/${POSTGRES_DB}?schema=public&timezone=UTC
# To have acccess to the database container from your local machine
# use the DATABASE_URL below which replaces nest-postgres (container name) with localhost
DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@localhost:5432/${POSTGRES_DB}?schema=public&timezone=UTC

DEFAULT_API_VERSION='1'
DOCUMENTATION_VERSION='0.0.1' # DEV_ONLY no doc/test data generated if null

JWT_COOKIE_NAME=jwt # empty means no cookie
# NOT_HTTP_ONLY=1
JWT_SECRET='DENGER-NON-production-jwt-secretDENGER-NON-production-jwt-secretDENGER-NON-production-jwt-secretDENGER-NON-production-jwt-secretDENGER-NON-production-jwt-secret'
JWT_EXPIRES_IN='1y'
JWT_REFRESH_EXPIRES_IN='1y'

# need scope to get user email
GITHUB_OAUTH_CLIENT_ID = 9e5e10cb375a563438e0
GITHUB_OAUTH_CLIENT_SECRET = 76dc98b5554636b5c924cd4854ad3f62e4f0cc3b

# need scope to get user email
GOOGLE_OAUTH_CLIENT_ID = 183236050953-rg2khnknb0tif2a5urepho0k22call16.apps.googleusercontent.com
GOOGLE_OAUTH_CLIENT_SECRET = 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
25 changes: 25 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
module.exports = {
parser: '@typescript-eslint/parser',
parserOptions: {
project: 'tsconfig.json',
tsconfigRootDir: __dirname,
sourceType: 'module',
},
plugins: ['@typescript-eslint/eslint-plugin'],
extends: [
'plugin:@typescript-eslint/recommended',
'plugin:prettier/recommended',
],
root: true,
env: {
node: true,
jest: true,
},
ignorePatterns: ['.eslintrc.js'],
rules: {
'@typescript-eslint/interface-name-prefix': 'off',
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-explicit-any': 'off',
},
};
31 changes: 31 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
name: 🐛 Bug report
about: Create a report to help us improve
title: "[BUG]"
labels: bug
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:

1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Code snippets**
If applicable, add code samples to help explain your problem.

**Additional context**
Add any other context about the problem here.
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
blank_issues_enabled: false
contact_links:
- name: Product Feature Request
url: https://botlet.canny.io/feature-requests
about: Provide feedback to the Botlet team and ask for new features or enhancements!
- name: Documentation Bug Report
url: https://github.com/botlet/botlet-doc/issues/new?template=BUG_REPORT.md&title%5B%5D=BUG
about: Create a report to help us improve the Botlet documentation.
# - name: Documentation Request
# url: https://feedback.botlet.io/documentation
# about: Suggest a new part of the documentation we are missing!
# - name: Botlet Questions and Discussions
# url: https://forum.botlet.io
# about: Please ask and answer questions on the community forums.
- name: Join the Community Discord
url: https://discord.botlet.io
about: Come and chat with other community members!
18 changes: 18 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
```markdown
---
name: Documentation request
about: Suggest an improvement or addition to the documentation
title: '[Doc]'
labels: documentation
assignees: ''

---

**Is your documentation request related to a specific feature or section? Please describe.**
A clear and concise description of what the documentation request is about. Ex. I'd like to see more information about [...]

**Describe the improvement or addition you'd like to see in the documentation**
A clear and concise description of what you want to be added or improved in the documentation.

**Additional context**
Add any other context or screenshots about the documentation request here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: "[FEATURE]"
labels: enhancement
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/question.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
name: Question
about: Ask a question about this project
title: "[QUESTION]"
labels: question
assignees: ''

---

**What is your question?**
A clear and concise description of your question.

**Additional context**
Add any other context or screenshots related to your question here.
42 changes: 42 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Pull Request Template

## Description

Please include a summary of the change and which issue is fixed. Include the relevant motivation and context. List any dependencies that are required for this change.

Fixes # (issue number)

## Type of change

Please delete options that are not relevant.

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update

## How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration.

- [ ] Test A
- [ ] Test B

## Checklist:

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules

## DCO

By submitting this pull request, I confirm that my contribution is made under the terms of the DCO 1.1 as described in [CONTRIBUTING.md](../CONTRIBUTING.md#developer-certificate-of-origin-dco).

## Further comments

If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...
45 changes: 45 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# compiled output
/dist
/node_modules

# generated files
/src/*/dto/*.dto.ts
/src/*/entities/*.entity.ts
/prisma/migrations/20*

# Logs
logs
*.log
npm-debug.log*
pnpm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# OS
.env
.DS_Store
.coverage-e2e

# Tests
/coverage
/.nyc_output

# IDEs and editors
/.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace

# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json

# husky
.husky/_
1 change: 1 addition & 0 deletions .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
npx --no-install commitlint --edit "$1"
13 changes: 13 additions & 0 deletions .husky/prepare-commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# check 'Signed-off-by' in commit message
git_commit_message=$(cat $1)
if [[ "$git_commit_message" != *"Signed-off-by: "* ]]; then
echo
echo "\033[31mError\033[0m:"
echo "Commit message is missing the Signed-off-by line."
echo "Please use 'git commit -s' to commit your changes."
echo "You can add it manually with 'git commit --amend -s'."
echo
exit 1
fi

exit 0
1 change: 1 addition & 0 deletions .node-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v18.16.0
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v18.16.0
4 changes: 4 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"singleQuote": true,
"trailingComma": "all"
}
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"typescript.preferences.importModuleSpecifier": "relative"
}
43 changes: 43 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment include:

- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [support@botlet.io](mailto:support@botlet.io). All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/), version 2.0, available at <https://www.contributor-covenant.org/version/2/0/code_of_conduct.html>.
Loading

0 comments on commit b483a9c

Please sign in to comment.