Skip to content

Commit

Permalink
Merge develop into main
Browse files Browse the repository at this point in the history
  • Loading branch information
palisadoes committed May 4, 2024
1 parent 14b6f04 commit f397dc1
Show file tree
Hide file tree
Showing 1,309 changed files with 605,281 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
node_modules
videos
images
.env
.git
.gitignore
.github
.dockerignore
89 changes: 89 additions & 0 deletions .env.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# 👋 Hey there, this is a sample file for .env file to showcase the different
# environment variables and some information about them. You can copy the contents
# of this file to the .env file and populate the environment variables.

# This environment variable is used to provide the environment in which the application is running
# Possible values are: development, production, test
NODE_ENV=development

#This environment variable is used to provide the port on which the server will run
SERVER_PORT=


# This environment variable is used to provide a unique random secret key for
# for signing/verifying access tokens using JWT(jsonwebtokens)

ACCESS_TOKEN_SECRET=


# This environment variable is used to provide a unique random secret key for
# for signing/verifying refresh tokens using JWT(jsonwebtokens).

REFRESH_TOKEN_SECRET=


# This environment variable is used to provide connection string of the mongoDB
# database for talawa-api to connect to.
MONGO_DB_URL=


# This environment variable is used to provide reCAPTCHA secret key for
# authentication purpose.

RECAPTCHA_SECRET_KEY=


# This environment variable is used to provide the username for mailing service.
# authentication purpose.

MAIL_USERNAME=

# This environment variable is used to provide the password for mailing service.

MAIL_PASSWORD=

# For using custom SMTP server. (Ignore if you are using GMAIL as a Mail Transport)
# true/false
IS_SMTP=

# SMTP Server credentials. Contact your Server Administrator for these variables.
SMTP_HOST=
SMTP_PASSWORD=
SMTP_USERNAME=
SMTP_PORT=
SMTP_SSL_TLS=

# Enable or disable the storage of logs
LOG=false


# Path of file that will store logs
LOG_PATH=./logs/transaction.log

# Email for the first user who will be super admin
# The user with the email address set with this parameter will automatically be elevated to Super Admin status on registration.
#
# 1. When installing, set this to the email address of the person you want to be the very first Super Admin.
# 2. If this is not set you will not be able to administer the application.
#
# If you don't set this parameter, then you'll need to follow the `Manually Adding The First Super Admin User` process discussed later in this document.
#
# Set this value in the event that you need to elevate any of your users to be a Super Admin.
#
# **NOTE** It is STRONGLY advised that you remove the email address once the initial installation and setup has been done

LAST_RESORT_SUPERADMIN_EMAIL=

# Logger Configuration
COLORIZE_LOGS = false
LOG_LEVEL = info

# Redis Cache Config

REDIS_HOST=
REDIS_PORT=
REDIS_PASSWORD=

# this environment variable is for setting the environment variable for Image Upload size

IMAGE_SIZE_LIMIT_KB=3000
7 changes: 7 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.github
.vscode
build
coverage
node_modules
src/types
docs/Schema.md
123 changes: 123 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
{
"env": {
"es2022": true,
"node": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"prettier"
],
"overrides": [
{
"files": ["*.ts"], // Specify that the following rules apply only to TypeScript files
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": "./tsconfig.json",
"tsconfigRootDir": ".",
"ecmaVersion": "latest",
"sourceType": "module"
},
"rules": {
// Typescript additional rules
"@typescript-eslint/array-type": "error",
"@typescript-eslint/consistent-type-assertions": "error",
"@typescript-eslint/consistent-type-imports": "error",
"@typescript-eslint/explicit-function-return-type": "error",

// Interfaces must begin with Interface or TestInterface followed by a PascalCase name
"@typescript-eslint/naming-convention": [
"error",
{
"selector": "interface",
"format": ["PascalCase"],
"prefix": ["Interface", "TestInterface"]
},
{
"selector": ["typeAlias", "typeLike", "enum"],
"format": ["PascalCase"]
},
{
"selector": "typeParameter",
"format": ["PascalCase"],
"prefix": ["T"]
},
{
"selector": "variable",
"format": ["camelCase", "UPPER_CASE"],
"leadingUnderscore": "allow"
},
{
"selector": "parameter",
"format": ["camelCase"],
"leadingUnderscore": "allow"
},
{
"selector": "function",
"format": ["camelCase"]
},
{
"selector": "memberLike",
"modifiers": ["private"],
"format": ["camelCase"],
"leadingUnderscore": "require"
},
{
"selector": "variable",
"modifiers": ["exported"],
"format": null
}
]
}
},
{
"files": ["./src/typeDefs/**/*.ts"],
"processor": "@graphql-eslint/graphql"
},
{
"files": ["./src/typeDefs/**/*.graphql"],
"parser": "@graphql-eslint/eslint-plugin",
"plugins": ["@graphql-eslint"]
},
{
"files": ["tests/**/*"],
"rules": {
"no-restricted-imports": "off"
}
},
{
// Disable explicit function return type for index.ts as it uses a lot of templated code
// which has convulated return types
"files": ["./src/index.ts", "./src/utilities/copyToClipboard.ts"],
"rules": {
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/no-empty-function": "off"
}
}
],
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint", "eslint-plugin-tsdoc", "import"],
"root": true,
"rules": {
"no-restricted-imports": [
"error",
{
"patterns": ["**/src/**"]
}
],
// restrict the use of same package in multiple import statements
"import/no-duplicates": "error",

// warn/1, error/2, off/0
"tsdoc/syntax": "error",

// Typescript Rules
"@typescript-eslint/ban-ts-comment": "error",
"@typescript-eslint/ban-types": "error",
"@typescript-eslint/no-duplicate-enum-values": "error",
"@typescript-eslint/no-explicit-any": "warn",
"@typescript-eslint/no-non-null-asserted-optional-chain": "error",
"@typescript-eslint/no-non-null-assertion": "error",
"@typescript-eslint/no-var-requires": "error"
}
}
12 changes: 12 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# These are supported funding model platforms

github: [palisadoes]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: PalisadoesFoundation/talawa-api
otechie: # Replace with a single Otechie username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
name: Bug Report
about: Create a report to help us improve.
title: Bug Report
labels: bug
assignees: ''

---

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

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

1.
2.
3.
4.

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

**Actual behavior**
A clear and concise description of how the code performed w.r.t expectations.

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

**Additional details**
Add any other context or screenshots about the feature request here.

**Potential internship candidates**
Please read this if you are planning to apply for a Palisadoes Foundation internship https://github.com/PalisadoesFoundation/talawa/issues/359
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: Feature Request
about: Suggest an idea for this project
title: Feature Request
labels: feature request
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is.

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

**Approach to be followed (optional)**
A clear and concise description of approach to be followed.

**Additional context**
Add any other context or screenshots about the feature request here.

**Potential internship candidates**
Please read this if you are planning to apply for a Palisadoes Foundation internship https://github.com/PalisadoesFoundation/talawa/issues/359
18 changes: 18 additions & 0 deletions .github/dependabot.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Configuration for automated dependency updates using Dependabot
version: 2
updates:
# Define the target package ecosystem
- package-ecosystem: "npm"
# Specify the root directory
directory: "/"
# Schedule automated updates to run weekly
schedule:
interval: "weekly"
# Labels to apply to Dependabot PRs
labels:
- "dependencies"
# Specify the target branch for PRs
target-branch: "develop"
# Customize commit message prefix
commit-message:
prefix: "chore(deps):"
54 changes: 54 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<!--
This section can be deleted after reading.
We employ the following branching strategy to simplify the development process and to ensure that only stable code is pushed to the `master` branch:
- `develop`: For unstable code: New features and bug fixes.
- `master`: Where the stable production ready code lies. Only security related bugs.
NOTE!!!
ONLY SUBMIT PRS AGAINST OUR `DEVELOP` BRANCH. THE DEFAULT IS `MAIN`, SO YOU WILL HAVE TO MODIFY THIS BEFORE SUBMITTING YOUR PR FOR REVIEW. PRS MADE AGAINST `MAIN` WILL BE CLOSED.
-->

<!--
Thanks for submitting a pull request! Please provide enough information so that others can review your pull request.
-->

**What kind of change does this PR introduce?**

<!-- E.g. a bugfix, feature, refactoring, etc… -->

**Issue Number:**

Fixes #<!--Add related issue number here.-->

**Did you add tests for your changes?**

<!--Yes or No. Note: Add unit tests or automation tests for your code.-->

**Snapshots/Videos:**

<!--Add snapshots or videos wherever possible.-->

**If relevant, did you update the documentation?**

<!--Add link to Talawa-Docs.-->

**Summary**

<!-- Explain the **motivation** for making this change. What existing problem does the pull request solve? -->
<!-- Try to link to an open issue for more information. -->

**Does this PR introduce a breaking change?**

<!-- If this PR introduces a breaking change, please describe the impact and a migration path for existing applications. -->

**Other information**

<!--Add extra information about this PR here-->

**Have you read the [contributing guide](https://github.com/PalisadoesFoundation/talawa-api/blob/master/CONTRIBUTING.md)?**

<!--Yes or No-->
Loading

0 comments on commit f397dc1

Please sign in to comment.