Skip to content

Commit

Permalink
Merge pull request #65 from casejs/feature/update-contributing.md
Browse files Browse the repository at this point in the history
Feature/update contributing.md
  • Loading branch information
ismaelguerrib authored Sep 26, 2023
2 parents 5bdf3dd + 6243c68 commit 942c4a2
Show file tree
Hide file tree
Showing 5 changed files with 295 additions and 46 deletions.
130 changes: 130 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# Contributor Covenant Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible 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.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment for our
community include:

- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
- Focusing on what is best not just for us as individuals, but for the overall
community

Examples of unacceptable behavior include:

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

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.

Community leaders 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, and will communicate reasons for moderation
decisions when appropriate.

## Scope

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
[[email protected]](mailto:[email protected]).
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
reporter of any incident.

## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series of
actions.

**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or permanent
ban.

### 3. Temporary Ban

**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.

**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.

### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within the
community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].

Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].

For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][FAQ].

[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
106 changes: 77 additions & 29 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,103 @@
# CASE Contribution

## client app
Thanks you very much for contributing and Happy Hacktoberfest ! 🎉 🧙‍♂️

To run the client app on `http://localhost:4200`:
[CASE](https://case.app/) is an Open-Source CRUD app generator that helps developers to build CRUD web applications in 15 minutes by focusing only on the data.

[CASE](https://case.app/) is made with love, lo-fi and headaches using [Angular](https://github.com/angular/angular.js), [Nest.js](https://github.com/nestjs/nest) & [TypeORM](https://github.com/typeorm/typeorm).

#### Table Of Contents

- [Pre-requisites](#pre-requisites)
- [Making code contributions](#code-contributions)
- [Making pull Requests](#pull-requests)
- [Reporting Bugs](#reporting-bugs)
- [Suggesting Enhancements](#suggesting-enhancements)
- [Code of Conduct](#code-of-conduct)

### Pre-requisites

[CASE](https://case.app/) is made with [Angular](https://github.com/angular/angular.js), the angular/cli is a pre-requisite.

```bash
npm install -g @angular/cli
```

You may also meet [TypeORM](https://github.com/typeorm/typeorm) concept's like entities, relations or repositories. You can familiarize yourself with [their docs here](https://typeorm.io/).

Also [CASE](https://case.app/) use the concepts of guards, module and controller from [Nest.js](https://github.com/nestjs/nest). You can have a better understanding of those concepts by checking [their docs here](https://docs.nestjs.com/).

**_You don't need to be an expert in those dependencies to contribute - your great ideas, logic, good will & common sense are always welcome to the project ! 🧠🌈_**

### Code contributions

If you are looking for an easy way to help, start by the issues labelled [good first issue](https://github.com/casejs/CASE/labels/good%20first%20issue) or [documentation](https://github.com/casejs/CASE/labels/documentation) ! 💪

##### Serve CASE in Contribution mode

Open a first terminal :

```bash
# From root of the repo.
cd packages/case/client
npm install
ng serve --configuration=contribution
```

## server app
The client is now running on `http://localhost:4200` ! 🌸

```
# From packages/case/server
npm i
Open a second terminal simultaneously :

```bash
# From root of the repo.
cd packages/case/server
npm install
npm run start:dev

# Seed in dev mode
# You have to generate users credentials by seeding data to be able to auth with.
# Seed in dev mode.
npm run seed:dev
```

The folder `packages/case/server/src/_contribution-root` replicates the app root folder of the `CASE Starter` repo.
The server is now running on contributor mode ! 🌼

## Contribute working from starter
⚠️ Times to times you may need to restart your server to see the modifications you brings to the client.

Using `npm link` you can link your `/node_modules/@casejs/case` to the `dist` folder in your project made with CASE starter.
> 💡 To simulate the `app` root folder of a new CASE repo, you can use the folder `packages/case/server/src/_contribution-root`.
```
cd server/dist
### Pull Requests

# may require sudo
npm link
```
The process described here has several goals:

Then go to your case starter project and run
- Maintain our quality
- Fix problems that are important to users
- Engage the community in working toward the best possible version of [CASE](https://case.app/)
- Enable a sustainable system for our maintainers to review contributions

```
npm link @casejs/case
npm start
```
Please follow these steps to have your contribution considered by our maintainers:

## Publish
1. Follow all instructions in [the template](.github/pull_request_template.md)
2. After you submit your pull request, verify that all [status checks](https://help.github.com/articles/about-status-checks/) are passing <details><summary>What if the status checks are failing ?</summary>If a status check is failing, and you believe that the failure is unrelated to your change, please leave a comment on the pull request explaining why you believe the failure is unrelated. A maintainer will re-run the status check for you. If we conclude that the failure was a false positive, then we will open an issue to track that problem with our status check suite.</details>

Update the version number in `package.json` and run:
While the prerequisites above must be satisfied prior to having your pull request reviewed, the reviewer(s) may ask you to complete additional design work, tests, or other changes before your pull request can be ultimately accepted.

```
npm run build
cd server/dist
npm publish
> 🧙‍♂️ During Hacktoberfest don't forget to add `hacktoberfest` label to your PR. If it's accepted we will merge it with the `hacktoberfest-accepted` label.
> If we judge it is, we will not hesitate to labelled your PR as `spammy` which can make you disqualified of the Hacktoberfest. 😱
# For beta versions
npm publish --tag beta
```
### Reporting Bugs

When you are creating a bug report, please include as many details as possible.

Fill out [the required template](.github/ISSUE_TEMPLATE/🐛-bug-report.md), the information it asks for helps us resolve issues faster.

> 💡 If you find a **Closed** issue that seems to be the same bug that you're experiencing, open a new issue and include a link to the original issue in the body of your new one.
### Suggesting Enhancements

When you are creating an enhancement suggestion, please include as many details as possible.

Start a new discussion by following [the template](.github/ISSUE_TEMPLATE/config.yml), including the steps that you imagine you would take if the feature you're requesting existed.

## Code of Conduct

[CASE](https://case.app/) and everyone contributing in it is governed by the [CASE Code of Conduct](CODE_OF_CONDUCT.md). By contributing, you are expected to uphold this code. Please report unacceptable behavior to [[email protected]](mailto:[email protected]).
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,13 @@
- [Discord](https://discord.gg/FepAked3W7) - Come chat with the CASE community
- [Dev.to](https://dev.to/casejs) - Stay tuned to CASE developments
- [Github](https://github.com/casejs/case/issues) - Report bugs and share ideas to improve the product.

## Contributors

Thanks to our first wonderful contributors !

<a href="https://github.com/casejs/CASE/graphs/contributors">
<img src="https://contrib.rocks/image?repo=casejs/CASE" />
</a>

Made with [contrib.rocks](https://contrib.rocks).
49 changes: 49 additions & 0 deletions humans.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# CASE Project - Humans.txt

The CASE project is made possible by the collaborative efforts of individuals from around the world. We'd like to express our heartfelt gratitude to all those who have contributed their time, skills, and passion to make CASE a reality. You are the lifeblood of this project, and we couldn't have done it without you.

### Core Team

- **Sébastien Conejo** (@sebconejo)
- Project Lead
- GitHub: [https://github.com/SebConejo](https://github.com/SebConejo)

- **Bruno** (@brunobuddy)
- Lead Developer
- GitHub: [https://github.com/brunobuddy](https://github.com/brunobuddy)

- **Ismaël Guerrib** (@ismaelguerrib)
- Developer
- GitHub: [https://github.com/ismaelguerrib](https://github.com/ismaelguerrib)

### Contributors

Our project has received invaluable contributions from developers, designers, and enthusiasts worldwide. We are deeply grateful for your dedication and support. Here are some of our amazing contributors (in alphabetical order):

- **Nilay Nath Sharan** (@SubstantialCattle5)
- GitHub: [https://github.com/SubstantialCattle5](https://github.com/SubstantialCattle5)


### Special Thanks

We'd like to extend our special thanks to the following individuals and organizations for their support, advice, and contributions:

- **Open Source Community**
- Your spirit of collaboration and shared knowledge inspire us every day.

- **Our Users**
- Your feedback and enthusiasm drive us to continually improve CASE.



### Join Us

CASE is an open-source project, and we welcome contributions from anyone who shares our vision. If you'd like to get involved or have ideas for improvement, please reach out to us.

- [Contribute to CASE](https://github.com/casejs/CASE)

### License

This work is licensed under the [MIT License](https://opensource.org/licenses/MIT).

Thank you for being a part of the CASE community!
46 changes: 29 additions & 17 deletions packages/case/server/src/app.module.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import { Module } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { TypeOrmModule } from '@nestjs/typeorm';
import * as chalk from 'chalk';
import * as cliTable from 'cli-table';
import { DataSource } from 'typeorm';
import { Module } from '@nestjs/common'
import { ConfigModule, ConfigService } from '@nestjs/config'
import { TypeOrmModule } from '@nestjs/typeorm'
import * as chalk from 'chalk'
import * as cliTable from 'cli-table'
import { DataSource } from 'typeorm'

import { AppConfigModule } from './app-config/app-config.module';
import { AuthModule } from './auth/auth.module';
import configuration from './configuration';
import { DynamicEntityModule } from './dynamic-entity/dynamic-entity.module';
import { FileUploadModule } from './file-upload/file-upload.module';
import { AppConfigModule } from './app-config/app-config.module'
import { AuthModule } from './auth/auth.module'
import configuration from './configuration'
import { DynamicEntityModule } from './dynamic-entity/dynamic-entity.module'
import { FileUploadModule } from './file-upload/file-upload.module'

const contributionMode: boolean = process.argv[2] === 'contribution'

Expand Down Expand Up @@ -52,8 +52,11 @@ export class AppModule {
head: []
})

if (!contributionMode) {
table.push(['client URL', chalk.green(`http://localhost:${port}`)])
}

table.push(
['client URL', chalk.green(`http://localhost:${port}`)],
['database path', chalk.green(databaseConfig.database)],
[
'entities',
Expand All @@ -68,11 +71,20 @@ export class AppModule {

console.log(table.toString())
console.log()
console.log(
chalk.blue(
'🎉 CASE app successfully started! See it at',
chalk.underline.blue(`http://localhost:${port}`)

if (!contributionMode) {
console.log(
chalk.blue(
'🎉 CASE app successfully started! See it at',
chalk.underline.blue(`http://localhost:${port}`)
)
)
)
} else {
console.log(
chalk.blue(
'🛠️ CASE server app successfully started in contributor mode! Do not forget to launch the client app too.'
)
)
}
}
}

0 comments on commit 942c4a2

Please sign in to comment.