-
Notifications
You must be signed in to change notification settings - Fork 6
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
Documentation #48
Documentation #48
Changes from 13 commits
6aadd7e
b73af59
391ac4f
3d051e8
f2738b1
1932fd8
25dac34
1e9d113
5d30d98
3773085
12244e7
57de755
673063d
6fa947c
5e7855f
3262c4b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,79 +1,19 @@ | ||
# SOCIS Website | ||
|
||
This is the official website for the Society of Computing and Information Sciences (SOCIS) at the University of Guelph. | ||
|
||
This project was built using [React](https://reactjs.org/) and bootstrapped with [Create React App](https://github.com/facebook/create-react-app). | ||
|
||
|
||
|
||
## How to run | ||
|
||
1. [First fork this repository](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo) | ||
2. Clone this repository to your local machine | ||
3. Install dependencies using `yarn install` | ||
4. Run the server locally using `yarn start`. This will open the server on `localhost:8300` in your browser | ||
5. To run tests enter `yarn test`, this will lanch the test runner in interactive watch mode. Select `a` to run all tests | ||
6. To run linter enter `yarn lint`, to autofix linter errors, run `yarn lint-fix` | ||
|
||
## Build and run using docker | ||
|
||
1. Build: `docker build -t socis-web .` | ||
2. run: `docker run -p 8080:80 socis-web:latest` | ||
3. go too the url http://localhost:8080 and see the amazing version of the site. | ||
|
||
## Available Scripts | ||
|
||
In the project directory, you can run: | ||
|
||
`yarn start` | ||
|
||
Runs the app in the development mode.\ | ||
Open [http://localhost:3000](http://localhost:3000) to view it in the browser. | ||
|
||
The page will reload if you make edits.\ | ||
You will also see any lint errors in the console. | ||
|
||
`yarn test` | ||
![CI testing](https://github.com/UoGSOCIS/socis_website/workflows/CI/badge.svg) | ||
|
||
Launches the test runner in the interactive watch mode.\ | ||
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. | ||
![SOCIS Logo](src/assets/socis_logo.png) | ||
|
||
`yarn build` | ||
|
||
Builds the app for production to the `build` folder.\ | ||
It correctly bundles React in production mode and optimizes the build for the best performance. | ||
|
||
The build is minified and the filenames include the hashes.\ | ||
Your app is ready to be deployed! | ||
|
||
See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. | ||
|
||
## Learn More | ||
|
||
You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). | ||
|
||
To learn React, check out the [React documentation](https://reactjs.org/). | ||
|
||
### Code Splitting | ||
|
||
This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) | ||
|
||
### Analyzing the Bundle Size | ||
|
||
This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) | ||
|
||
### Making a Progressive Web App | ||
|
||
This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) | ||
|
||
### Advanced Configuration | ||
# SOCIS Website | ||
|
||
This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) | ||
This is the official website for the Society of Computing and Information Sciences (SOCIS) at the University of Guelph. | ||
|
||
### Deployment | ||
## Contributors | ||
|
||
This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) | ||
- Sooraj Modi | ||
- Ben Pearo | ||
- Marshall Asch | ||
- Zaza Hashmi | ||
- Danindu Marasinghe | ||
|
||
### `yarn build` fails to minify | ||
## License | ||
|
||
This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) | ||
GNU GENERAL PUBLIC LICENSE v3 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# Accessibility | ||
|
||
This document outlines the accessibility information for the website. | ||
|
||
## Alt-text | ||
|
||
All images include alt text, a short description of the image. | ||
|
||
## Color | ||
|
||
The primary colors used in this website are: | ||
|
||
![Red](https://swatch.now.sh/?color=%23660000) | ||
![Dark Grey](https://swatch.now.sh/?color=%23465052) | ||
![Off White](https://swatch.now.sh/?color=%23F5F5F5) | ||
![White](https://swatch.now.sh/?color=%23FFFFFF) | ||
![Black](https://swatch.now.sh/?color=%23000000) | ||
|
||
Contrast ratio between `#FFFFFF` (foreground) and `#660000` (background) is 13.41:1. | ||
|
||
Contrast ratio between `#000000` (foreground) and `#F5F5F5` (background) is 19.26:1. | ||
|
||
Contrast ratio between `#FFFFFF` (foreground) and `#465052` (background) is 8.3:1. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
# Contributor Covenant Code of Conduct | ||
|
||
## Our Pledge | ||
|
||
In the interest of fostering an open and welcoming environment, we as | ||
contributors and maintainers pledge to making participation in our project and | ||
our community a harassment-free experience for everyone, regardless of age, body | ||
size, disability, ethnicity, gender identity and expression, level of experience, | ||
education, socio-economic status, nationality, personal appearance, race, | ||
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 soorajmodi@hotmail.com. 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 1.4, | ||
available [here](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
# Contributing | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. rename to There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I wanted to keep all the docs in the same format with camel case titles, for consistency. I know its not how its typically done, but I like it a bit better this way. Added the link There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I dont think the link is present anymore |
||
|
||
A big welcome and thank you for considering contributing to the SOCIS website! It’s people like you that make it a reality for users in our community. | ||
|
||
Reading and following these guidelines will help us make the contribution process easy and effective for everyone involved. | ||
|
||
It also communicates that you agree to respect the time of the developers managing and developing these open source projects. | ||
|
||
In return, we will reciprocate that respect by addressing your issue, assessing changes, and helping you finalize your pull requests. | ||
|
||
## Quicklinks | ||
|
||
* [Code of Conduct](#code-of-conduct) | ||
* [Getting Started](#getting-started) | ||
* [Issues](#issues) | ||
* [Pull Requests](#pull-requests) | ||
* [Getting Help](#getting-help) | ||
|
||
## Code of Conduct | ||
|
||
We take our open source community seriously and hold ourselves and other contributors to high standards of communication. | ||
By participating and contributing to this project, you agree to uphold our [Code of Conduct](https://github.com/UoGSOCIS/socis_website/blob/main/docs/CodeOfConduct.md). | ||
|
||
## Getting Started | ||
|
||
Contributions are made to this repo via Issues and Pull Requests (PRs). A few general guidelines that cover both: | ||
|
||
- To report security vulnerabilities, please contact the SOCIS exec directly at exec@socis.ca. | ||
- Search for existing Issues and PRs before creating your own. | ||
- We work hard to makes sure issues are handled in a timely manner but, depending on the impact, it could take a while to investigate the root cause. A friendly ping in the comment thread to the submitter or a contributor can help draw attention if your issue is blocking. | ||
- If you've never contributed before, see [this link](https://opensource.guide/how-to-contribute/) for resources and tips on how to get started. | ||
|
||
### Issues | ||
|
||
Issues should be used to report problems with the website, request a new feature, or to discuss potential changes before a PR is created. When you create a new Issue, a template will be loaded that will guide you through collecting and providing the information we need to investigate. | ||
|
||
If you find an Issue that addresses the problem you're having, please add your own reproduction information to the existing issue rather than creating a new one. Adding a [reaction](https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) can also help be indicating to our maintainers that a particular problem is affecting more than just the reporter. | ||
|
||
### Pull Requests | ||
|
||
PRs to the website are always welcome and can be a quick way to get your fix or improvement slated for the next release. In general, PRs should: | ||
|
||
- Only fix/add the functionality in question **OR** address wide-spread whitespace/style issues, not both. | ||
- Add unit or integration tests for fixed or changed functionality (if a test suite already exists). | ||
- Address a single concern in the least number of changed lines as possible. | ||
- Include documentation in the repo. | ||
- Be accompanied by a complete Pull Request template (loaded automatically when a PR is created). | ||
|
||
For changes that address core functionality or would require breaking changes (e.g. a major release), it's best to open an Issue to discuss your proposal first. This is not required but can save time creating and reviewing changes. | ||
|
||
In general, we follow the ["fork-and-pull" Git workflow](https://github.com/susam/gitpr) | ||
|
||
1. Fork the repository to your own Github account | ||
2. Clone the project to your machine | ||
3. Create a branch locally with a succinct but descriptive name | ||
4. Commit changes to the branch | ||
5. Following any formatting and testing guidelines specific to this repo | ||
6. Push changes to your fork | ||
7. Open a PR in our repository and follow the PR template so that we can efficiently review the changes. | ||
|
||
## Getting Help | ||
|
||
Feel free to reach out to @SoorajModi or @MarshallAsch if you have any questions. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
# How to Run | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thoughts on having this in the README instead? Personally I generally only want to have to look at the readme to find this information. I don't want to have to go searching through the project for docs like this. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Normally, I would agree, however I want to approach this from the perspective of a student who has no web development experience. I want to have extensive instructions on how to run the app locally on each OS. My hope is that future students are able to make changes without our help. For that reason I made it into its own separate file so we can lots of detail later on. Dont wanna include it in the README, because it might look ugly lol. |
||
|
||
This document will outline how to download and run this application for development. | ||
|
||
## Prerequisites | ||
|
||
- Web development | ||
- Javascript | ||
- React.js | ||
- Node.js | ||
- HTML | ||
- CSS | ||
- Docker [optional] | ||
|
||
## Resources | ||
|
||
- [React.js documentation](https://reactjs.org/) | ||
- [Node.js download](https://nodejs.org/en/download/) | ||
- [Docker](https://www.docker.com/) | ||
|
||
## Cloning the repo | ||
|
||
Clone the repository to your local computer: | ||
|
||
```bash | ||
git clone https://github.com/UoGSOCIS/socis_website.git | ||
``` | ||
|
||
## Run the app | ||
|
||
Download the required dependencies | ||
|
||
```bash | ||
yarn install | ||
``` | ||
|
||
Run the application locally | ||
|
||
```bash | ||
yarn start | ||
``` | ||
|
||
This will start the application on `http://localhost:3000/`. Use this mode for development. | ||
|
||
## Build and run using Docker | ||
|
||
Build | ||
|
||
```bash | ||
docker build -t socis-web . | ||
``` | ||
|
||
Run the application | ||
|
||
```bash | ||
docker run -p 8080:80 socis-web:latest | ||
``` | ||
|
||
This will start the application on `http://localhost:8080/`. Use this mode for testing and deployment. This mode does not have hot reloading. | ||
SoorajModi marked this conversation as resolved.
Show resolved
Hide resolved
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
# How to Update | ||
|
||
This document outlines how to update parts of the website. See [Contributing](https://github.com/UoGSOCIS/socis_website/blob/main/docs/Contributing.md) to see how to contribute to the repo. | ||
|
||
## Exec/staff list | ||
|
||
Open `src/pages/about/components/execList.js`. This file contains the full list of exec and staff including their names, | ||
roles, and description. By editing this file you can update the contents of the site. | ||
|
||
### Updating | ||
|
||
Edit the content in `execList.js`. | ||
|
||
To update profile pictures, replace the corresponding images in `src/pages/about/assets`. Make sure the file names match | ||
the imported images in `execList.js`. | ||
|
||
### Adding | ||
|
||
Add a new individual in `execList.js`. Be sure to include the position, name, image and description fields. | ||
|
||
To upload an image, add the image to `src/pages/about/assets`. Then import the image in `execList.js`: | ||
|
||
```javascript | ||
import Exec from '../assets/exec.jpeg'; | ||
``` | ||
|
||
### Removing | ||
|
||
Open `execList.js`, find the individual and either comment them out or delete their section. Also delete their image in | ||
`src/pages/about/assets`. | ||
|
||
## Policy documents | ||
SoorajModi marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
The original policy documents can be found on the SOCIS google drive. | ||
|
||
### Updating | ||
|
||
Go to `src/pages/policy/assets` and replace the policy documents with the newer version. Next, open `src/pages/policy/components/header.jsx` | ||
and update the `Last updated` string to today's date. | ||
|
||
### Adding | ||
|
||
To add new policy documents, first add the new policy document to `src/pages/policy/assets`. Then in `src/pages/policy/index.jsx` | ||
import the policy document: | ||
|
||
```javascript | ||
import policyDocument from './assets/Policy.pdf'; | ||
``` | ||
|
||
Then add the component to the functional component: | ||
|
||
```javascript | ||
<FileViewer heading="Policy" file={policyDocument} /> | ||
``` | ||
|
||
### Removing | ||
|
||
To remove policies, delete the corresponding document in `src/pages/policy/assets`. Then open `src/pages/policy/index.jsx` | ||
and remove the lines for the component: | ||
|
||
```javascript | ||
import policyDocument from './assets/Policy.pdf'; | ||
``` | ||
|
||
```javascript | ||
<FileViewer heading="Policy" file={policyDocument} /> | ||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still think we should add some links here to the docs stuff. looking at a git repo people will normally just look at the readme and not go searching for things, I have never assumed that the
docs
folder would hold docs for me as a potential contributor, but rather I often assume that they are docs that go along with the project.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To be fair does anyone read the documentation XD. But as an alternative, what if we put everything in the wiki instead? Might be the option that makes the most sense, and include very basic instructions on how to run in the README?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree wiki might be good for some of that, as long as there is at least a link to it from the readme, basic instructions in readme + more detail in wiki / docs works too (that is my preferred method). I really like readme's that include a quickstart then detailed usage is linked elsewhere