Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flesh out README #26

Open
wants to merge 11 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
675 changes: 675 additions & 0 deletions LICENSE.md

Large diffs are not rendered by default.

3 changes: 0 additions & 3 deletions README.md

This file was deleted.

1 change: 1 addition & 0 deletions README.md
1 change: 1 addition & 0 deletions backend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"version": "0.1.0",
"description": "RESTful API for Carleton Web Dev Club",
"main": "index.js",
"license": "GPL-3.0-or-later",
"scripts": {
"start": "npm run start:server",
"start:server": "node -r esm server.js",
Expand Down
29 changes: 26 additions & 3 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,28 @@
# Carleton Web Dev Club Site
# Carleton Web Dev Club

## 🚧 Work in progress 🚧
Welcome! Whether you're here to learn, to contribute, or to complain, we're happy to help!

Latest contribution `docs` coming soon!
## About

This project is running express [x] and react [y] on node [z], with a mongodb [a] database using Docker.
If you want to get a local copy up and running ASAP, please see the \*WIP* [getting started guide](/).

For clarity and ease of use, the repository is structured:
- docs in [/docs](/docs)
- front-end code in [/frontend](/frontend)
- back-end and db code in [/backend](/backend)

## Contribution

No matter your background or proficiency, we'd love your input!
If you find a bug or some odd behaviour in the site, please open an issue using the
[template](https://github.com/Carleton-Web-Dev-Club/club-site/issues/new?assignees=&labels=&template=bug_report.md).

If you're interested in contributing features or code, please review the
[feature request template](https://github.com/Carleton-Web-Dev-Club/club-site/issues/new?assignees=&labels=&template=feature_request.md) and \*WIP* [styleguide](/).
It's A-OK if you need help with some of the nitty-gritty details too; we'll try our best to give quality feedback on
pull requests, if they're not quite ready to merge :)

## License

The Carleton Web Developer Club Website is licensed under TBD. For the full license text, please see: [LICENSE.md](/)
2 changes: 1 addition & 1 deletion docs/_coverpage.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@
- Open Source

[GitHub](https://github.com/Carleton-Web-Dev-Club/club-site)
[Get Started](#carleton-web-dev-club-site)
[Get Started](#carleton-web-dev-club)
35 changes: 35 additions & 0 deletions docs/getting-started/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,38 @@
If you would like to help, join the Discord Channel [#club-site-apigroup](https://discord.gg/8pJS4zk)

Basic API specifications are given in [@Carleton-Web-Dev-Club/CWDC-Wiki](https://github.com/Carleton-Web-Dev-Club/CWDC-Wiki/blob/master/api/discussion.adoc)

## Project Structure
```
.
├── README.md
├── .vscode
├── backend <-- API
├── frontend <-- React App
├── docs <-- Documentation Site
├── package-lock.json
└── package.json
```

## Coding Guidelines

### Linting
`frontend` and `backend` use ESLint.
> ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code, with the goal of making code more consistent and avoiding bugs.

We use [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript) for ESLint.

Overrides done to base airbnb config:
- `frontend`
- `react/jsx-filename-extension`: Since this is a react site we should be able to write JSX in in non `.jsx` files


### Commits

To use tooling that will make it easy to generate changelogs and automated release and enforce good standards we use [commitlint](https://commitlint.js.org/#/) that runs as a [git hook](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) using [husky](https://typicode.github.io/husky/#/). This allows us standardize commit messages which are human readable and machines can also understand meaning.

Commitlint uses [conventional commit messages](https://www.conventionalcommits.org/en/v1.0.0/). Since this spec dovetails with [SemVer](https://semver.org) which is also followed for release cycle.

We use [`@commitlint/config-conventional`](https://github.com/conventional-changelog/commitlint/tree/master/%40commitlint/config-conventional) config with some defined scopes and types because we are not using all the type enums for messages. Another custom rule is to allow for long body since base config restricts to 100 characters and that is not enough at times for commit body.

For commit message examples and more details please read docs for [conventional commit messages](https://www.conventionalcommits.org/en/v1.0.0/) because they go in detail.
1 change: 1 addition & 0 deletions frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"name": "club-site-frontend",
"version": "0.1.0",
"main": "index.js",
"license": "GPL-3.0-or-later",
"scripts": {
"start": "run-p -l start:*",
"start:webpack": "webpack --mode development",
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"lint": "run-p -l lint:*",
"docs": "docsify serve docs"
},
"license": "GPL-3.0-or-later",
"repository": {
"type": "git",
"url": "git+https://github.com/Carleton-Web-Dev-Club/club-site.git"
Expand Down