Skip to content

Commit 4dc9a32

Browse files
committed
First commit
0 parents  commit 4dc9a32

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+16370
-0
lines changed

.editorconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
root = true
2+
3+
[*]
4+
end_of_line = lf
5+
indent_style = space
6+
indent_size = 2
7+
charset = utf-8
8+
trim_trailing_whitespace = true
9+
insert_final_newline = true

.eslintignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
**/*.js
2+
node_modules
3+
build

.eslintrc.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
module.exports = {
2+
env: {
3+
browser: true,
4+
es6: true,
5+
},
6+
extends: ['plugin:react/recommended', 'airbnb', 'plugin:@typescript-eslint/recommended', 'prettier/@typescript-eslint', 'plugin:prettier/recommended'],
7+
globals: {
8+
Atomics: 'readonly',
9+
SharedArrayBuffer: 'readonly',
10+
},
11+
parserOptions: {
12+
ecmaFeatures: {
13+
jsx: true,
14+
},
15+
ecmaVersion: 2018,
16+
sourceType: 'module',
17+
},
18+
plugins: ['react', 'react-hooks', '@typescript-eslint', 'prettier'],
19+
rules: {
20+
'linebreak-style': 0,
21+
'react/prop-types': 0,
22+
'react/jsx-filename-extension': 0,
23+
'import/extensions': 0,
24+
'import/no-unresolved': 0,
25+
'array-callback-retur': 0,
26+
'@typescript-eslint/no-explicit-any': 0,
27+
'jsx-a11y/label-has-associated-control': 0,
28+
'camelcase': 0,
29+
'@typescript-eslint/explicit-module-boundary-types': 0,
30+
'jsx-a11y/interactive-supports-focus': 0,
31+
'jsx-a11y/click-events-have-key-events': 0
32+
},
33+
};

.gitignore

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
.vscode
5+
/node_modules
6+
/.pnp
7+
.pnp.js
8+
9+
# testing
10+
/coverage
11+
12+
# production
13+
/build
14+
15+
# misc
16+
.DS_Store
17+
.env.local
18+
.env.development.local
19+
.env.test.local
20+
.env.production.local
21+
22+
npm-debug.log*
23+
yarn-debug.log*
24+
yarn-error.log*
25+

.prettierrc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"singleQuote": true,
3+
"printWidth": 180,
4+
"traillingComma": "all",
5+
"arrowParens": "avoid"
6+
}

CONTRIBUTING.md

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# Contributing
2+
3+
When contributing to this repository, please first discuss the change you wish to make via issue,
4+
email, or any other method with the owners of this repository before making a change.
5+
6+
Please note we have a code of conduct, please follow it in all your interactions with the project.
7+
8+
## Pull Request Process
9+
10+
1. Ensure any install or build dependencies are removed before the end of the layer when doing a
11+
build.
12+
2. Update the README.md with details of changes to the interface, this includes new environment
13+
variables, exposed ports, useful file locations and container parameters.
14+
3. Increase the version numbers in any examples files and the README.md to the new version that this
15+
Pull Request would represent. The versioning scheme we use is [SemVer](http://semver.org/).
16+
4. You may merge the Pull Request in once you have the sign-off of two other developers, or if you
17+
do not have permission to do that, you may request the second reviewer to merge it for you.
18+
19+
## Code of Conduct
20+
21+
### Our Pledge
22+
23+
In the interest of fostering an open and welcoming environment, we as
24+
contributors and maintainers pledge to making participation in our project and
25+
our community a harassment-free experience for everyone, regardless of age, body
26+
size, disability, ethnicity, gender identity and expression, level of experience,
27+
nationality, personal appearance, race, religion, or sexual identity and
28+
orientation.
29+
30+
### Our Standards
31+
32+
Examples of behavior that contributes to creating a positive environment
33+
include:
34+
35+
* Using welcoming and inclusive language
36+
* Being respectful of differing viewpoints and experiences
37+
* Gracefully accepting constructive criticism
38+
* Focusing on what is best for the community
39+
* Showing empathy towards other community members
40+
41+
Examples of unacceptable behavior by participants include:
42+
43+
* The use of sexualized language or imagery and unwelcome sexual attention or
44+
advances
45+
* Trolling, insulting/derogatory comments, and personal or political attacks
46+
* Public or private harassment
47+
* Publishing others' private information, such as a physical or electronic
48+
address, without explicit permission
49+
* Other conduct which could reasonably be considered inappropriate in a
50+
professional setting
51+
52+
### Our Responsibilities
53+
54+
Project maintainers are responsible for clarifying the standards of acceptable
55+
behavior and are expected to take appropriate and fair corrective action in
56+
response to any instances of unacceptable behavior.
57+
58+
Project maintainers have the right and responsibility to remove, edit, or
59+
reject comments, commits, code, wiki edits, issues, and other contributions
60+
that are not aligned to this Code of Conduct, or to ban temporarily or
61+
permanently any contributor for other behaviors that they deem inappropriate,
62+
threatening, offensive, or harmful.
63+
64+
### Scope
65+
66+
This Code of Conduct applies both within project spaces and in public spaces
67+
when an individual is representing the project or its community. Examples of
68+
representing a project or community include using an official project e-mail
69+
address, posting via an official social media account, or acting as an appointed
70+
representative at an online or offline event. Representation of a project may be
71+
further defined and clarified by project maintainers.
72+
73+
### Enforcement
74+
75+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
76+
reported by contacting the project team at <leoronne@gmail.com>. All
77+
complaints will be reviewed and investigated and will result in a response that
78+
is deemed necessary and appropriate to the circumstances. The project team is
79+
obligated to maintain confidentiality with regard to the reporter of an incident.
80+
Further details of specific enforcement policies may be posted separately.
81+
82+
Project maintainers who do not follow or enforce the Code of Conduct in good
83+
faith may face temporary or permanent repercussions as determined by other
84+
members of the project's leadership.

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2020 Leonardo Ronne
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
<p align="center">
2+
<img src="src\assets\img\logo512.png" width="300px"/>
3+
</p>
4+
5+
<h1 align="center">
6+
UI Clone - GitHub
7+
</h1>
8+
9+
<p align="center">
10+
<img src="src\assets\img\banner.png"/>
11+
</p>
12+
13+
<br>
14+
15+
<p align="center">
16+
<a href="#project-star2">Project</a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;
17+
<a href="#techs-rocket">Techs</a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;
18+
<a href="#installation-wrench">Installation</a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;
19+
<a href="#test-heavy_check_mark">Test</a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;
20+
<a href="#contributing-">Contributing</a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;
21+
<a href="#license-memo">License</a>
22+
</p>
23+
24+
<br>
25+
26+
## Project :star2:
27+
28+
This repo contains an UI clone (partial) from GitHub application using it's public APIs.
29+
30+
<br>
31+
32+
Deployed [here](https://github-ui-clone.web.app).
33+
34+
<br>
35+
36+
## Techs :rocket:
37+
38+
- [x] [ReactJS](https://reactjs.org);
39+
- [x] [TypeScript](https://www.typescriptlang.org/);
40+
- [x] [Styled Components](https://styled-components.com/).
41+
42+
<br>
43+
44+
## Installation :wrench:
45+
46+
You can install the application using `npm install` or `yarn install` on the root dir.
47+
48+
<br>
49+
50+
## Test :heavy_check_mark:
51+
52+
To start the application interface just run `npm start` or `yarn start` on the root dir.
53+
54+
55+
<br>
56+
57+
## Contributing 🤔
58+
59+
Please read [CONTRIBUTING](https://github.com/leoronne/github-ui-clone/blob/master/CONTRIBUTING.md) for details on code of conduct, and the process for submitting pull requests to the project.
60+
61+
<br>
62+
63+
## License :memo:
64+
65+
[![License](http://img.shields.io/:license-mit-blue.svg?style=flat-square)](http://badges.mit-license.org)
66+
67+
- **[MIT license](https://github.com/leoronne/github-ui-clone/blob/master/LICENSE)**
68+
- Copyright 2020 © <a href="https://github.com/leoronne" target="_blank">Leonardo Ronne</a>.
69+
70+
##

config-overrides.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// eslint-disable-next-line
2+
const { addBabelPlugin, override } = require('customize-cra');
3+
4+
module.exports = override(
5+
addBabelPlugin([
6+
'babel-plugin-root-import',
7+
{
8+
rootPathSuffix: 'src',
9+
},
10+
]),
11+
);

package.json

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
{
2+
"name": "github-ui-clone",
3+
"version": "1.0.0",
4+
"description": "This app contains an UI clone (partial) from GitHub application",
5+
"repository": "https://github.com/leoronne/github-ui-clone",
6+
"author": "Leonardo Ronne",
7+
"license": "MIT",
8+
"dependencies": {
9+
"@testing-library/jest-dom": "^4.2.4",
10+
"@testing-library/react": "^9.3.2",
11+
"@testing-library/user-event": "^7.1.2",
12+
"@types/jest": "^24.0.0",
13+
"@types/node": "^12.0.0",
14+
"@types/react": "^16.9.0",
15+
"@types/react-dom": "^16.9.0",
16+
"axios": "^0.19.2",
17+
"date-fns": "^2.15.0",
18+
"history": "^5.0.0",
19+
"i18next": "^19.6.0",
20+
"i18next-xhr-backend": "^3.2.2",
21+
"react": "^16.13.1",
22+
"react-calendar-heatmap": "^1.8.1",
23+
"react-dom": "^16.13.1",
24+
"react-i18next": "^11.7.0",
25+
"react-icons": "^3.10.0",
26+
"react-router": "^5.2.0",
27+
"react-router-dom": "^6.0.0-beta.0",
28+
"react-scripts": "3.4.1",
29+
"react-spinners": "^0.9.0",
30+
"react-toastify": "^6.0.8",
31+
"react-tooltip": "^4.2.7",
32+
"react-use": "^15.3.3",
33+
"styled-components": "^5.1.1",
34+
"typescript": "^3.7.2"
35+
},
36+
"scripts": {
37+
"start": "react-app-rewired start",
38+
"build": "react-app-rewired build",
39+
"test": "react-app-rewired test",
40+
"eject": "react-app-rewired eject"
41+
},
42+
"eslintConfig": {
43+
"extends": "react-app"
44+
},
45+
"browserslist": {
46+
"production": [
47+
">0.2%",
48+
"not dead",
49+
"not op_mini all"
50+
],
51+
"development": [
52+
"last 1 chrome version",
53+
"last 1 firefox version",
54+
"last 1 safari version"
55+
]
56+
},
57+
"devDependencies": {
58+
"@types/i18next": "^13.0.0",
59+
"@types/i18next-xhr-backend": "^1.4.2",
60+
"@types/react-calendar-heatmap": "^1.6.2",
61+
"@types/react-icons": "^3.0.0",
62+
"@types/react-router-dom": "^5.1.5",
63+
"@types/styled-components": "^5.1.2",
64+
"@types/yup": "^0.29.3",
65+
"@typescript-eslint/eslint-plugin": "^3.6.0",
66+
"@typescript-eslint/parser": "^3.6.0",
67+
"babel-eslint": "^10.0.3",
68+
"babel-plugin-root-import": "^6.4.1",
69+
"customize-cra": "^0.9.1",
70+
"enzyme": "^3.11.0",
71+
"enzyme-adapter-react-16": "^1.15.2",
72+
"eslint": "^6.8.0",
73+
"eslint-config-airbnb": "^18.1.0",
74+
"eslint-config-prettier": "^6.11.0",
75+
"eslint-import-resolver-babel-plugin-root-import": "^1.1.1",
76+
"eslint-plugin-import": "^2.20.2",
77+
"eslint-plugin-import-helpers": "^1.0.2",
78+
"eslint-plugin-jsx-a11y": "^6.2.3",
79+
"eslint-plugin-prettier": "^3.1.4",
80+
"eslint-plugin-react": "^7.19.0",
81+
"eslint-plugin-react-hooks": "^2.5.1",
82+
"prettier": "^2.0.5",
83+
"react-app-rewired": "^2.1.6"
84+
}
85+
}

public/favicon.ico

4.19 KB
Binary file not shown.

public/index.html

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8" />
5+
<link rel="manifest" href="./manifest.json" />
6+
<meta name="msapplication-TileColor" content="#ffffff" />
7+
<meta name="msapplication-TileImage" content="./logo512.png" />
8+
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
9+
<meta name="theme-color" content="#1D1D1D" />
10+
<meta name="description" content="This app contains an UI clone (partial) from GitHub application using it's public APIs" />
11+
<meta name="author" content="Leonardo Ronne" />
12+
<meta name="keywords" content="GitHub, GitHub-UI-Clone, Leonardo Ronne, Next Level Weel, NLW, OmniStack, Rocketseat, Guilherme Rodz, Diego Fernandes, Reactjs, Nodejs" />
13+
<meta name="robots" content="index,follow" />
14+
<meta name="googlebot" content="index,follow" />
15+
<link rel="shortcut icon" type="image/x-icon" href="./favicon.ico" />
16+
<title>GitHub UI Clone</title>
17+
</head>
18+
<body>
19+
<div id="root"></div>
20+
</body>
21+
</html>

public/logo192.png

19 KB
Loading

public/logo512.png

63.1 KB
Loading

0 commit comments

Comments
 (0)