Skip to content

Commit

Permalink
Launch (#1)
Browse files Browse the repository at this point in the history
Welcome to the launch of our open source project - IO Flow
---------

Co-authored-by: Sudhir Raut <[email protected]>
  • Loading branch information
sudhir-raut and sudhir-raut authored Jun 2, 2023
1 parent ab5e7f6 commit 2b3a841
Show file tree
Hide file tree
Showing 96 changed files with 23,512 additions and 2 deletions.
39 changes: 39 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# compiled output
dist
/node_modules

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

# OS
.DS_Store
.vscode
# 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
src/shared/clients/gRPC/*
workflows
test
e2e
24 changes: 24 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
module.exports = {
env: {
es2021: true,
node: true,
},
parser: '@typescript-eslint/parser',
parserOptions: {
project: './tsconfig.json',
sourceType: 'module',
tsconfigRootDir: __dirname,
ecmaVersion: 12,
},
extends: ['airbnb-base', 'airbnb-typescript/base', 'prettier'],
root: true,
ignorePatterns: ['.eslintrc.js'],
rules: {
'no-console': 'off',
'max-classes-per-file': 'off',
'no-plusplus': 'off',
'import/prefer-default-export': 'off',
"class-methods-use-this": "off",
"no-useless-constructor": 0
},
}
50 changes: 50 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# These are some examples of commonly ignored file patterns.
# You should customize this list as applicable to your project.
# Learn more about .gitignore:
# https://www.atlassian.com/git/tutorials/saving-changes/gitignore

# Node artifact files
.env
node_modules/
dist
# Compiled Java class files
*.class

# Compiled Python bytecode
*.py[cod]

# Log files
*.log

# Package files
*.jar

# Maven
target/
dist/

# JetBrains IDE
.idea/

# Unit test reports
TEST*.xml

# Generated by MacOS
.DS_Store

# Generated by Windows
Thumbs.db

# Applications
*.app
*.exe
*.war

# Large media files
*.mp4
*.tiff
*.avi
*.flv
*.mov
*.wmv
src/shared/clients/gRPC/*
6 changes: 6 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"trailingComma": "es5",
"tabWidth": 4,
"semi": false,
"singleQuote": true
}
51 changes: 51 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Code of Conduct

We are committed to providing a friendly, safe, and welcoming environment for all contributors and participants in the IO Flow project. We expect everyone involved to adhere to the following code of conduct.

## Our Pledge

In the interest of fostering an open and inclusive community, we pledge to:

- Be respectful and considerate towards others, regardless of their background, experiences, or opinions.
- Welcome and support newcomers, making sure they feel valued and included.
- Be patient and understanding when disagreements and conflicts arise.
- Strive to create an inclusive and diverse community, where everyone feels comfortable and empowered to contribute.

## Expected Behavior

To create a positive and inclusive environment, we expect all participants to:

- Be kind, respectful, and empathetic towards others.
- Use inclusive language and be mindful of our words and actions.
- Accept constructive feedback gracefully and learn from it.
- Be open-minded and consider different perspectives.
- Focus on collaboration and finding solutions, rather than engaging in personal attacks or derogatory remarks.
- Respect the privacy and personal boundaries of others.

## Unacceptable Behavior

The following behaviors are considered unacceptable and will not be tolerated:

- Harassment, discrimination, or any form of offensive or discriminatory behavior.
- Personal attacks, insults, or derogatory comments towards others.
- Intimidation, threats, or any form of bullying.
- Any behavior that causes discomfort or distress to others.
- Sharing or distributing others' private or personal information without their consent.
- Any other behavior that goes against the principles of a respectful and inclusive community.

## Reporting Incidents

If you witness or experience any unacceptable behavior while participating in the IO Flow project, please report it by contacting the project maintainers at [email address or other appropriate contact information]. All reports will be handled confidentially and with respect for the privacy of individuals involved. We are committed to promptly addressing and resolving any reported issues.

## Consequences of Unacceptable Behavior

Unacceptable behavior will not be tolerated and may result in consequences, including but not limited to:

- A warning or request for clarification or apology.
- Temporary or permanent exclusion from the project.
- Blocking or banning from project communication channels and events.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/version/2/0/code_of_conduct.html) version 2.0. We thank the contributors of the Contributor Covenant for their valuable work in creating a foundation for promoting positive interactions in open source communities.

84 changes: 84 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Contributing Guidelines

Welcome to the IO Flow project! We appreciate your interest in contributing. By participating in this project, you agree to abide by the [Code of Conduct](CODE_OF_CONDUCT.md). This document outlines the guidelines and process for contributing to our project. Please take a moment to review the guidelines before getting started.

## Table of Contents
- [Reporting Issues](#reporting-issues)
- [Making Contributions](#making-contributions)
- [Coding Standards](#coding-standards)
- [Commit Guidelines](#commit-guidelines)
- [Submitting Pull Requests](#submitting-pull-requests)
- [Code of Conduct](CODE_OF_CONDUCT.md)

## Reporting Issues

If you encounter any issues while using or developing IO Flow, please report them using the issue tracker. Before submitting an issue, please check if a similar issue already exists. Include as much detail as possible, such as the version of IO Flow, steps to reproduce the issue, and relevant logs or error messages.

## Making Contributions

We welcome contributions from everyone. To contribute to IO Flow, follow these steps:

1. Fork the repository to your GitHub account.
2. Create a new branch for your feature or bug fix: `git checkout -b your-branch-name`.
3. Make your changes and ensure they adhere to our [coding standards](#coding-standards).
4. Write tests to cover your changes, if applicable.
5. Commit your changes with a clear and descriptive commit message using our [commit guidelines](#commit-guidelines).
6. Push your branch to your forked repository.
7. Open a pull request to the main repository's `master` branch, providing a detailed description of your changes.
8. Participate in the discussion and address any feedback or suggestions received during the code review process.
9. Once your pull request is approved, it will be merged into the main repository.

## Coding Standards

We strive to maintain a high-quality codebase, and we encourage contributors to follow these coding standards:
The codebase is developed mainly by using the [airbnb](https://airbnb.io/javascript/) standards.

- Use clear and descriptive variable and function names.
- Follow the project's existing code style and formatting conventions.
- Include inline comments to explain complex logic or important details.
- Write concise and meaningful documentation where necessary.
- Ensure your code passes all relevant tests and does not introduce new linting errors.

## Commit Guidelines

To keep the commit history clean and organized, we follow the [Conventional Commits](https://www.conventionalcommits.org/) specification. Please structure your commit messages as follows:

<type>: <description>

[optional body]

[optional footer]

markdown
Copy code

The `<type>` can be one of the following:
- `feat`: A new feature or enhancement
- `fix`: A bug fix
- `docs`: Documentation changes
- `refactor`: Code refactoring
- `test`: Adding or modifying tests
- `chore`: Routine tasks, maintenance, or other non-code changes

The `<description>` should be a clear and concise summary of the change.

The `[optional body]` section should provide additional context or details about the change if necessary.

The `[optional footer]` section should reference any issues or pull requests related to the change.

## Submitting Pull Requests

When submitting a pull request, please provide the following information in the description:

- A summary of the changes made and the problem they solve.
- Any relevant information that might help with the review process.
- If applicable, reference any related issues or pull requests.

## Code of Conduct

Please review and adhere to our [Code of Conduct](CODE_OF_CONDUCT.md) throughout





51 changes: 51 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
###################
# BUILD FOR LOCAL DEVELOPMENT
###################

FROM node:18-alpine As development

WORKDIR /usr/src/app

COPY --chown=node:node package*.json ./

RUN npm ci

COPY --chown=node:node . .

USER node

###################
# BUILD FOR PRODUCTION
###################

FROM node:18-alpine As build

WORKDIR /usr/src/app

COPY --chown=node:node package*.json ./

COPY --chown=node:node --from=development /usr/src/app/node_modules ./node_modules

COPY --chown=node:node . .

RUN npm run build

ARG NODE_ENV=production
ENV NODE_ENV=${NODE_ENV}

RUN npm ci --only=production && npm cache clean --force

USER node

###################
# PRODUCTION
###################

FROM node:18-alpine As production

COPY --chown=node:node --from=build /usr/src/app/node_modules ./node_modules
COPY --chown=node:node --from=build /usr/src/app/dist ./dist

ENV NODE_OPTIONS --max-old-space-size=4096

CMD [ "node","--max_old_space_size=4096", "dist/main.js" ]
2 changes: 1 addition & 1 deletion LICENSE → LICENSE.md
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]
Copyright [2023] [iauro Systems](https://iauro.com/)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
Loading

0 comments on commit 2b3a841

Please sign in to comment.