├── tags
├── chau.json
├── alex.json
├── chris.json
├── christina.json
├── panyeung.json
├── rebecca.json
├── vivian.json
└── brice.json
├── README.md
├── index.html
├── .circleci
└── config.yml
├── test.py
└── CODE_OF_CONDUCT.md
/tags/chau.json:
--------------------------------------------------------------------------------
1 | {
2 | "grid":[
3 | [0,1,0,0,0,1,0],
4 | [0,1,1,0,1,1,0],
5 | [0,1,1,1,1,1,0],
6 | [0,1,0,1,0,1,0],
7 | [0,1,1,1,1,1,0],
8 | [0,1,0,0,0,1,0],
9 | [0,0,1,1,1,0,0]
10 | ],
11 |
12 | "color": "black",
13 |
14 | "name":"Chau Vu"
15 | }
--------------------------------------------------------------------------------
/tags/alex.json:
--------------------------------------------------------------------------------
1 | {
2 | "grid":[
3 | [0,0,1,1,1,0,0],
4 | [0,0,1,1,1,0,0],
5 | [0,0,1,1,1,0,0],
6 | [0,0,1,1,1,0,0],
7 | [0,0,1,1,1,0,0],
8 | [0,0,1,1,1,0,0],
9 | [0,0,1,1,1,0,0]
10 | ],
11 |
12 | "color": "#007acc",
13 |
14 | "name":"Alex Garcia"
15 | }
16 |
--------------------------------------------------------------------------------
/tags/chris.json:
--------------------------------------------------------------------------------
1 | {
2 | "grid":[
3 | [0,1,1,1,1,0,0],
4 | [1,0,1,0,1,0,0],
5 | [1,1,1,1,1,0,1],
6 | [0,0,0,1,1,1,1],
7 | [1,1,1,1,1,0,0],
8 | [0,1,1,1,1,0,0],
9 | [0,0,1,0,1,0,0]
10 | ],
11 |
12 | "color": "#0fbcf9",
13 |
14 | "name":"Chris Robles"
15 | }
16 |
--------------------------------------------------------------------------------
/tags/christina.json:
--------------------------------------------------------------------------------
1 | {
2 | "grid":[
3 | [0,0,0,0,0,0,0],
4 | [0,1,1,0,1,1,0],
5 | [1,0,0,1,0,0,1],
6 | [0,1,0,0,0,1,0],
7 | [0,0,1,0,1,0,0],
8 | [0,0,0,1,0,0,0],
9 | [0,0,0,0,0,0,0]
10 | ],
11 |
12 | "color": "rgb(255, 255, 153)",
13 |
14 | "name":"Christina"
15 | }
16 |
--------------------------------------------------------------------------------
/tags/panyeung.json:
--------------------------------------------------------------------------------
1 | {
2 | "grid":[
3 | [0,0,0,0,0,0,0],
4 | [0,1,1,1,1,1,0],
5 | [0,1,0,0,0,1,0],
6 | [0,1,0,0,0,1,0],
7 | [0,1,1,1,1,1,0],
8 | [0,1,0,0,0,0,0],
9 | [0,1,0,0,0,0,0]
10 | ],
11 |
12 | "color": "rgb(234, 28, 44)",
13 |
14 | "name":"Pan Yeung"
15 | }
16 |
--------------------------------------------------------------------------------
/tags/rebecca.json:
--------------------------------------------------------------------------------
1 | {
2 | "grid":[
3 | [1,0,0,0,0,0,1],
4 | [0,1,0,0,0,1,0],
5 | [0,0,1,0,1,0,0],
6 | [0,0,0,1,0,0,0],
7 | [0,0,1,0,1,0,0],
8 | [0,1,0,0,0,1,0],
9 | [1,0,0,0,0,0,1]
10 | ],
11 |
12 | "color": "rgb(124, 39, 940)",
13 |
14 | "name":"rebecca chan"
15 | }
16 |
--------------------------------------------------------------------------------
/tags/vivian.json:
--------------------------------------------------------------------------------
1 | {
2 | "grid":[
3 | [0,1,1,0,1,1,0],
4 | [0,1,1,0,1,1,0],
5 | [0,0,0,0,0,0,0],
6 | [1,0,0,0,0,0,1],
7 | [1,0,0,0,0,0,1],
8 | [1,0,0,0,0,0,1],
9 | [1,1,1,1,1,1,1]
10 | ],
11 |
12 | "color": "rgb(255, 179, 102)",
13 |
14 | "name":"Vivian Lee"
15 | }
16 |
--------------------------------------------------------------------------------
/tags/brice.json:
--------------------------------------------------------------------------------
1 | {
2 | "grid":[
3 | [0,0,0,0,0,0,0],
4 | [0,1,0,0,0,1,0],
5 | [0,1,0,0,0,1,0],
6 | [0,0,0,0,0,0,0],
7 | [1,0,0,0,0,0,1],
8 | [0,1,0,0,0,1,0],
9 | [0,0,1,1,1,0,0]
10 | ],
11 |
12 | "color": "rgb(800, 100, 100)",
13 |
14 | "name":"Brice Lau"
15 | }
16 |
17 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Graffiti Wall [](https://circleci.com/gh/os-ucsd/graffiti-wall/tree/master)
2 | A wall that you can tag to learn about Git and Pull Requests.
3 |
4 | A fork of the original project from [ECE USC](https://github.com/eceusc/graffiti-wall)!
5 |
6 | ## Tutorial
7 | Check out the tutorial here: [Git Gud - Graffiti Wall Tutorial](https://paper.dropbox.com/doc/GIT-GUD-Graffiti-Wall-Tutorial-O0IedwD2H2kAM7ZT8y5NI)
8 | test
9 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Graffiti Wall - ECE USC Open Source
4 |
5 |
6 |
7 |
8 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/.circleci/config.yml:
--------------------------------------------------------------------------------
1 | # Check https://circleci.com/docs/2.0/language-python/ for more details
2 |
3 | version: 2
4 | jobs:
5 | build:
6 | docker:
7 | # specify the version you desire here
8 | # use `-browsers` prefix for selenium tests, e.g. `3.6.1-browsers`
9 | - image: circleci/python:3.6.1
10 |
11 | # Specify service dependencies here if necessary
12 | # CircleCI maintains a library of pre-built images
13 | # documented at https://circleci.com/docs/2.0/circleci-images/
14 | # - image: circleci/postgres:9.4
15 |
16 | working_directory: ~/repo
17 |
18 | steps:
19 | - checkout
20 |
21 | - run:
22 | name: run tests
23 | command: |
24 | python test.py
25 |
26 | - store_artifacts:
27 | path: test-reports
28 | destination: test-reports
29 |
--------------------------------------------------------------------------------
/test.py:
--------------------------------------------------------------------------------
1 | import json, os
2 | import unittest
3 |
4 | class TestTags(unittest.TestCase):
5 |
6 | def setUp(self):
7 | self.directory = os.path.join(os.path.dirname(__file__), './tags')
8 | self.tag_file_names = os.listdir(self.directory)
9 |
10 | def tag_name_test(self, tag):
11 | name = tag.get('name')
12 |
13 | self.assertIsNotNone(name)
14 | self.assertIs(type(name), str)
15 | self.assertTrue(len(name) > 0)
16 |
17 | def tag_color_test(self, tag):
18 | color = tag.get('color')
19 |
20 | self.assertIsNotNone(color)
21 | self.assertIs(type(color), str)
22 | self.assertTrue(len(color) > 0)
23 |
24 | def tag_grid_test(self, tag):
25 | grid = tag.get('grid')
26 |
27 | self.assertIsNotNone(grid)
28 | self.assertIs(type(grid), list)
29 | self.assertEqual(len(grid), 7)
30 |
31 | for row in grid:
32 | self.assertEqual(len(row), 7)
33 |
34 | def tag_test(self, tag):
35 | file_name = (os.path.join(self.directory, tag))
36 | self.assertTrue(file_name.endswith('.json'))
37 |
38 | with open(file_name, 'r') as f:
39 | try:
40 | tag_obj = json.load(f)
41 | except ValueError:
42 | self.fail(
43 | (('The tag "{tag}" at "{file_name}" can\'t be decoded as JSON!'
44 | ' Double check your JSON file structure.')).format(tag=tag,file_name=file_name)
45 | )
46 |
47 | self.assertIsNotNone(tag_obj)
48 | self.assertIs(type(tag_obj), dict)
49 |
50 | self.tag_name_test(tag_obj)
51 | self.tag_color_test(tag_obj)
52 | self.tag_grid_test(tag_obj)
53 |
54 | def test_tags(self):
55 | for tag in self.tag_file_names:
56 | self.tag_test(tag)
57 |
58 | if __name__ == '__main__':
59 | unittest.main()
60 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## UC San Diego Principles of Community
4 |
5 | As a student-ran organization within UC San Diego, all work done in the name of
6 | an Open Source project should be done with the
7 | [UC San Diego Principles of Community](https://ucsd.edu/about/principles.html)
8 | in mind. Failure to do so will result in the enforcement of this code described below.
9 |
10 | ## Our Pledge
11 |
12 | In the interest of fostering an open and welcoming environment, we as
13 | contributors and maintainers pledge to making participation in our project and
14 | our community a harassment-free experience for everyone, regardless of age, body
15 | size, disability, ethnicity, sex characteristics, gender identity and expression,
16 | level of experience, education, socio-economic status, nationality, personal
17 | appearance, race, religion, or sexual identity and orientation.
18 |
19 | ## Our Standards
20 |
21 | Examples of behavior that contributes to creating a positive environment
22 | include:
23 |
24 | * Using welcoming and inclusive language
25 | * Being respectful of differing viewpoints and experiences
26 | * Gracefully accepting constructive criticism
27 | * Focusing on what is best for the community
28 | * Showing empathy towards other community members
29 |
30 | Examples of unacceptable behavior by participants include:
31 |
32 | * The use of sexualized language or imagery and unwelcome sexual attention or
33 | advances
34 | * Trolling, insulting/derogatory comments, and personal or political attacks
35 | * Public or private harassment
36 | * Publishing others' private information, such as a physical or electronic
37 | address, without explicit permission
38 | * Other conduct which could reasonably be considered inappropriate in a
39 | professional setting
40 |
41 | ## Our Responsibilities
42 |
43 | Project maintainers are responsible for clarifying the standards of acceptable
44 | behavior and are expected to take appropriate and fair corrective action in
45 | response to any instances of unacceptable behavior.
46 |
47 | Project maintainers have the right and responsibility to remove, edit, or
48 | reject comments, commits, code, wiki edits, issues, and other contributions
49 | that are not aligned to this Code of Conduct, or to ban temporarily or
50 | permanently any contributor for other behaviors that they deem inappropriate,
51 | threatening, offensive, or harmful.
52 |
53 | ## Scope
54 |
55 | This Code of Conduct applies both within project spaces and in public spaces
56 | when an individual is representing the project or its community. Examples of
57 | representing a project or community include using an official project e-mail
58 | address, posting via an official social media account, or acting as an appointed
59 | representative at an online or offline event. Representation of a project may be
60 | further defined and clarified by project maintainers.
61 |
62 | ## Enforcement
63 |
64 | Instances of abusive, harassing, or otherwise unacceptable behavior may be
65 | reported by contacting the project team at eceusc+opensource@eng.ucsd.edu. All
66 | complaints will be reviewed and investigated and will result in a response that
67 | is deemed necessary and appropriate to the circumstances. The project team is
68 | obligated to maintain confidentiality with regard to the reporter of an incident.
69 | Further details of specific enforcement policies may be posted separately.
70 |
71 | Project maintainers who do not follow or enforce the Code of Conduct in good
72 | faith may face temporary or permanent repercussions as determined by other
73 | members of the project's leadership.
74 |
75 | ## Attribution
76 |
77 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
78 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
79 |
80 | [homepage]: https://www.contributor-covenant.org
81 |
--------------------------------------------------------------------------------