├── public
├── _redirects
├── robots.txt
├── favicon.ico
├── logo192.png
├── logo512.png
├── manifest.json
└── index.html
├── src
├── images
│ ├── preloader.gif
│ └── login-img.svg
├── components
│ ├── Charts
│ │ ├── Bar3D.js
│ │ ├── Pie3D.js
│ │ ├── Column3D.js
│ │ ├── Doughnut2d.js
│ │ ├── ExampleChart.js
│ │ └── index.js
│ ├── index.js
│ ├── User.js
│ ├── Repos.js
│ ├── Navbar.js
│ ├── Info.js
│ ├── Followers.js
│ ├── Search.js
│ └── Card.js
├── pages
│ ├── PrivateRoute.js
│ ├── index.js
│ ├── Dashboard.js
│ ├── AuthWrapper.js
│ ├── Error.js
│ └── Login.js
├── setupTests.js
├── context
│ ├── context.js
│ └── mockData.js
│ │ ├── mockUser.js
│ │ └── mockFollowers.js
├── App.test.js
├── App.js
├── index.js
├── index.css
└── serviceWorker.js
├── .gitignore
├── package.json
└── README.md
/public/_redirects:
--------------------------------------------------------------------------------
1 | /* /index.html 200
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/john-smilga/starter-project-react-github-search-users/HEAD/public/favicon.ico
--------------------------------------------------------------------------------
/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/john-smilga/starter-project-react-github-search-users/HEAD/public/logo192.png
--------------------------------------------------------------------------------
/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/john-smilga/starter-project-react-github-search-users/HEAD/public/logo512.png
--------------------------------------------------------------------------------
/src/images/preloader.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/john-smilga/starter-project-react-github-search-users/HEAD/src/images/preloader.gif
--------------------------------------------------------------------------------
/src/components/Charts/Bar3D.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | const Bar3D = () => {
4 | return
chart
;
5 | };
6 |
7 | export default Bar3D;
8 |
--------------------------------------------------------------------------------
/src/components/Charts/Pie3D.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | const Pie3D = () => {
4 | return chart
;
5 | };
6 |
7 | export default Pie3D;
8 |
--------------------------------------------------------------------------------
/src/components/Charts/Column3D.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | const Column3D = () => {
4 | return chart
;
5 | };
6 |
7 | export default Column3D;
8 |
--------------------------------------------------------------------------------
/src/components/Charts/Doughnut2d.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | const Doughnut2d = () => {
4 | return chart
;
5 | };
6 |
7 | export default Doughnut2d;
8 |
--------------------------------------------------------------------------------
/src/components/Charts/ExampleChart.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | const ExampleChart = () => {
4 | return chart
;
5 | };
6 |
7 | export default ExampleChart;
8 |
--------------------------------------------------------------------------------
/src/components/index.js:
--------------------------------------------------------------------------------
1 | import Info from "./Info";
2 | import Repos from "./Repos";
3 | import User from "./User";
4 | import Search from "./Search";
5 | import Navbar from "./Navbar";
6 |
7 | export { Info, Repos, User, Search, Navbar };
8 |
--------------------------------------------------------------------------------
/src/pages/PrivateRoute.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Route, Redirect } from 'react-router-dom';
3 | import { useAuth0 } from '@auth0/auth0-react';
4 |
5 | const PrivateRoute = () => {
6 | return private route component
;
7 | };
8 | export default PrivateRoute;
9 |
--------------------------------------------------------------------------------
/src/pages/index.js:
--------------------------------------------------------------------------------
1 | import Dashboard from "./Dashboard";
2 | import Login from "./Login";
3 | import AuthWrapper from "./AuthWrapper";
4 | import PrivateRoute from "./PrivateRoute";
5 | import Error from "./Error";
6 |
7 | export { Dashboard, Login, AuthWrapper, PrivateRoute, Error };
8 |
--------------------------------------------------------------------------------
/src/setupTests.js:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom/extend-expect';
6 |
--------------------------------------------------------------------------------
/src/components/Charts/index.js:
--------------------------------------------------------------------------------
1 | import ExampleChart from "./ExampleChart";
2 | import Column3D from "./Column3D";
3 | import Bar3D from "./Bar3D";
4 | import Pie3D from "./Pie3D";
5 | import Doughnut2D from "./Doughnut2d";
6 |
7 | export { ExampleChart, Pie3D, Column3D, Bar3D, Doughnut2D };
8 |
--------------------------------------------------------------------------------
/src/context/context.js:
--------------------------------------------------------------------------------
1 | import React, { useState, useEffect } from 'react';
2 | import mockUser from './mockData.js/mockUser';
3 | import mockRepos from './mockData.js/mockRepos';
4 | import mockFollowers from './mockData.js/mockFollowers';
5 | import axios from 'axios';
6 |
7 | const rootUrl = 'https://api.github.com';
8 |
--------------------------------------------------------------------------------
/src/App.test.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { render } from '@testing-library/react';
3 | import App from './App';
4 |
5 | test('renders learn react link', () => {
6 | const { getByText } = render();
7 | const linkElement = getByText(/learn react/i);
8 | expect(linkElement).toBeInTheDocument();
9 | });
10 |
--------------------------------------------------------------------------------
/src/App.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Dashboard, Login, PrivateRoute, AuthWrapper, Error } from './pages';
3 | import { BrowserRouter as Router, Switch, Route } from 'react-router-dom';
4 |
5 | function App() {
6 | return (
7 |
8 |
9 |
10 |
11 |
12 | );
13 | }
14 |
15 | export default App;
16 |
--------------------------------------------------------------------------------
/src/pages/Dashboard.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Info, Repos, User, Search, Navbar } from '../components';
3 | import loadingImage from '../images/preloader.gif';
4 | import { GithubContext } from '../context/context';
5 | const Dashboard = () => {
6 | return (
7 |
8 | Dashboard Page
9 |
10 | );
11 | };
12 |
13 | export default Dashboard;
14 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/src/pages/AuthWrapper.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { useAuth0 } from '@auth0/auth0-react';
3 | import loadingGif from '../images/preloader.gif';
4 | import styled from 'styled-components';
5 | function AuthWrapper() {
6 | return authwrapper component
;
7 | }
8 |
9 | const Wrapper = styled.section`
10 | min-height: 100vh;
11 | display: grid;
12 | place-items: center;
13 | img {
14 | width: 150px;
15 | }
16 | `;
17 |
18 | export default AuthWrapper;
19 |
--------------------------------------------------------------------------------
/src/components/User.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import styled from 'styled-components';
3 | import Card from './Card';
4 | import Followers from './Followers';
5 | const User = () => {
6 | return search component
;
7 | };
8 |
9 | const Wrapper = styled.div`
10 | padding-top: 2rem;
11 | display: grid;
12 | gap: 3rem 2rem;
13 | @media (min-width: 992px) {
14 | grid-template-columns: 1fr 1fr;
15 | }
16 | /* align-items: start; */
17 | `;
18 |
19 | export default User;
20 |
--------------------------------------------------------------------------------
/src/pages/Error.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import styled from 'styled-components';
3 | import { Link } from 'react-router-dom';
4 | const Error = () => {
5 | return error page
;
6 | };
7 | const Wrapper = styled.section`
8 | min-height: 100vh;
9 | display: grid;
10 | place-items: center;
11 | background: var(--clr-primary-10);
12 | text-align: center;
13 | h1 {
14 | font-size: 10rem;
15 | }
16 | h3 {
17 | color: var(--clr-grey-3);
18 | margin-bottom: 1.5rem;
19 | }
20 | `;
21 | export default Error;
22 |
--------------------------------------------------------------------------------
/src/pages/Login.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { useAuth0 } from '@auth0/auth0-react';
3 | import styled from 'styled-components';
4 | import loginImg from '../images/login-img.svg';
5 | const Login = () => {
6 | return login page
;
7 | };
8 | const Wrapper = styled.section`
9 | min-height: 100vh;
10 | display: grid;
11 | place-items: center;
12 | .container {
13 | width: 90vw;
14 | max-width: 600px;
15 | text-align: center;
16 | }
17 | img {
18 | margin-bottom: 2rem;
19 | }
20 | h1 {
21 | margin-bottom: 1.5rem;
22 | }
23 | `;
24 | export default Login;
25 |
--------------------------------------------------------------------------------
/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | },
10 | {
11 | "src": "logo192.png",
12 | "type": "image/png",
13 | "sizes": "192x192"
14 | },
15 | {
16 | "src": "logo512.png",
17 | "type": "image/png",
18 | "sizes": "512x512"
19 | }
20 | ],
21 | "start_url": ".",
22 | "display": "standalone",
23 | "theme_color": "#000000",
24 | "background_color": "#ffffff"
25 | }
26 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom/client';
3 | import './index.css';
4 | import App from './App';
5 | import * as serviceWorker from './serviceWorker';
6 | import { GithubProvider } from './context/context';
7 | import { Auth0Provider } from '@auth0/auth0-react';
8 | const root = ReactDOM.createRoot(document.getElementById('root'));
9 | root.render(
10 |
11 |
12 |
13 | );
14 |
15 | // If you want your app to work offline and load faster, you can change
16 | // unregister() to register() below. Note this comes with some pitfalls.
17 | // Learn more about service workers: https://bit.ly/CRA-PWA
18 | serviceWorker.unregister();
19 |
--------------------------------------------------------------------------------
/src/components/Repos.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import styled from 'styled-components';
3 | import { GithubContext } from '../context/context';
4 | import { ExampleChart, Pie3D, Column3D, Bar3D, Doughnut2D } from './Charts';
5 | const Repos = () => {
6 | return repos component
;
7 | };
8 |
9 | const Wrapper = styled.div`
10 | display: grid;
11 | justify-items: center;
12 | gap: 2rem;
13 | @media (min-width: 800px) {
14 | grid-template-columns: 1fr 1fr;
15 | }
16 |
17 | @media (min-width: 1200px) {
18 | grid-template-columns: 2fr 3fr;
19 | }
20 |
21 | div {
22 | width: 100% !important;
23 | }
24 | .fusioncharts-container {
25 | width: 100% !important;
26 | }
27 | svg {
28 | width: 100% !important;
29 | border-radius: var(--radius) !important;
30 | }
31 | `;
32 |
33 | export default Repos;
34 |
--------------------------------------------------------------------------------
/src/components/Navbar.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import styled from 'styled-components';
3 | import { useAuth0 } from '@auth0/auth0-react';
4 |
5 | const Navbar = () => {
6 | return navbar component
;
7 | };
8 |
9 | const Wrapper = styled.nav`
10 | padding: 1.5rem;
11 | margin-bottom: 4rem;
12 | background: var(--clr-white);
13 | text-align: center;
14 | display: grid;
15 | grid-template-columns: auto auto 100px;
16 | justify-content: center;
17 | align-items: center;
18 | gap: 1.5rem;
19 | h4 {
20 | margin-bottom: 0;
21 | font-weight: 400;
22 | }
23 | img {
24 | width: 35px !important;
25 | height: 35px;
26 | border-radius: 50%;
27 | object-fit: cover;
28 | }
29 | button {
30 | background: transparent;
31 | border: transparent;
32 | font-size: 1.2rem;
33 | text-transform: capitalize;
34 | letter-spacing: var(--spacing);
35 | color: var(--clr-grey-5);
36 | cursor: pointer;
37 | }
38 | `;
39 |
40 | export default Navbar;
41 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "github-search",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "@auth0/auth0-react": "^1.12.0",
7 | "@testing-library/jest-dom": "^5.16.5",
8 | "@testing-library/react": "^13.4.0",
9 | "@testing-library/user-event": "^13.5.0",
10 | "axios": "^1.2.1",
11 | "fusioncharts": "^3.19.0",
12 | "react": "^18.2.0",
13 | "react-dom": "^18.2.0",
14 | "react-fusioncharts": "^4.0.0",
15 | "react-icons": "^4.7.1",
16 | "react-scripts": "5.0.1",
17 | "styled-components": "^5.3.6",
18 | "web-vitals": "^2.1.4",
19 | "react-router-dom": "^5.2.0"
20 | },
21 | "scripts": {
22 | "start": "react-scripts start",
23 | "build": "CI= react-scripts build",
24 | "test": "react-scripts test",
25 | "eject": "react-scripts eject"
26 | },
27 | "eslintConfig": {
28 | "extends": "react-app"
29 | },
30 | "browserslist": {
31 | "production": [
32 | ">0.2%",
33 | "not dead",
34 | "not op_mini all"
35 | ],
36 | "development": [
37 | "last 1 chrome version",
38 | "last 1 firefox version",
39 | "last 1 safari version"
40 | ]
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/src/context/mockData.js/mockUser.js:
--------------------------------------------------------------------------------
1 | export default {
2 | login: 'john-smilga',
3 | id: 42133389,
4 | node_id: 'MDQ6VXNlcjQyMTMzMzg5',
5 | avatar_url: 'https://avatars3.githubusercontent.com/u/42133389?v=4',
6 | gravatar_id: '',
7 | url: 'https://api.github.com/users/john-smilga',
8 | html_url: 'https://github.com/john-smilga',
9 | followers_url: 'https://api.github.com/users/john-smilga/followers',
10 | following_url:
11 | 'https://api.github.com/users/john-smilga/following{/other_user}',
12 | gists_url: 'https://api.github.com/users/john-smilga/gists{/gist_id}',
13 | starred_url:
14 | 'https://api.github.com/users/john-smilga/starred{/owner}{/repo}',
15 | subscriptions_url: 'https://api.github.com/users/john-smilga/subscriptions',
16 | organizations_url: 'https://api.github.com/users/john-smilga/orgs',
17 | repos_url: 'https://api.github.com/users/john-smilga/repos',
18 | events_url: 'https://api.github.com/users/john-smilga/events{/privacy}',
19 | received_events_url:
20 | 'https://api.github.com/users/john-smilga/received_events',
21 | type: 'User',
22 | site_admin: false,
23 | name: 'John Smilga',
24 | company: 'Coding Addict',
25 | blog: 'www.johnsmilga.com',
26 | location: 'Los Angeles',
27 | email: null,
28 | hireable: null,
29 | bio: 'Creator of Coding Addict',
30 | twitter_username: 'john_smilga',
31 | public_repos: 152,
32 | public_gists: 0,
33 | followers: 1495,
34 | following: 0,
35 | created_at: '2018-08-06T06:48:23Z',
36 | updated_at: '2020-07-08T05:01:32Z',
37 | };
38 |
--------------------------------------------------------------------------------
/src/components/Info.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { GithubContext } from '../context/context';
3 | import styled from 'styled-components';
4 | import { GoRepo, GoGist } from 'react-icons/go';
5 | import { FiUsers, FiUserPlus } from 'react-icons/fi';
6 |
7 | const UserInfo = () => {
8 | return user info component
;
9 | };
10 |
11 | const Wrapper = styled.section`
12 | display: grid;
13 | grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
14 | gap: 1rem 2rem;
15 | @media (min-width: 640px) {
16 | grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
17 | }
18 | .item {
19 | border-radius: var(--radius);
20 | padding: 1rem 2rem;
21 | background: var(--clr-white);
22 | display: grid;
23 | grid-template-columns: auto 1fr;
24 | column-gap: 3rem;
25 | align-items: center;
26 | span {
27 | width: 3rem;
28 | height: 3rem;
29 | display: grid;
30 | place-items: center;
31 | border-radius: 50%;
32 | }
33 | .icon {
34 | font-size: 1.5rem;
35 | }
36 | h3 {
37 | margin-bottom: 0;
38 | letter-spacing: 0;
39 | }
40 | p {
41 | margin-bottom: 0;
42 | text-transform: capitalize;
43 | }
44 | .pink {
45 | background: #ffe0f0;
46 | color: #da4a91;
47 | }
48 | .green {
49 | background: var(--clr-primary-10);
50 | color: var(--clr-primary-5);
51 | }
52 | .purple {
53 | background: #e6e6ff;
54 | color: #5d55fa;
55 | }
56 | .yellow {
57 | background: #fffbea;
58 | color: #f0b429;
59 | }
60 | }
61 | `;
62 |
63 | export default UserInfo;
64 |
--------------------------------------------------------------------------------
/src/components/Followers.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { GithubContext } from '../context/context';
3 | import styled from 'styled-components';
4 |
5 | const Followers = () => {
6 | return followers component
;
7 | };
8 |
9 | const Wrapper = styled.article`
10 | background: var(--clr-white);
11 | border-top-right-radius: var(--radius);
12 | border-bottom-left-radius: var(--radius);
13 | border-bottom-right-radius: var(--radius);
14 | position: relative;
15 |
16 | &::before {
17 | content: ' followers';
18 | position: absolute;
19 | top: 0;
20 | left: 0;
21 | transform: translateY(-100%);
22 | background: var(--clr-white);
23 | color: var(--clr-grey-5);
24 | border-top-right-radius: var(--radius);
25 | border-top-left-radius: var(--radius);
26 | text-transform: capitalize;
27 | padding: 0.5rem 1rem 0 1rem;
28 | letter-spacing: var(--spacing);
29 | font-size: 1rem;
30 | }
31 | .followers {
32 | overflow: scroll;
33 | height: 260px;
34 | display: grid;
35 | grid-template-rows: repeat(auto-fill, minmax(45px, 1fr));
36 | gap: 1.25rem 1rem;
37 | padding: 1rem 2rem;
38 | }
39 | article {
40 | transition: var(--transition);
41 | padding: 0.15rem 0.5rem;
42 | border-radius: var(--radius);
43 | display: grid;
44 | grid-template-columns: auto 1fr;
45 | align-items: center;
46 | column-gap: 1rem;
47 | img {
48 | height: 100%;
49 | width: 45px;
50 | border-radius: 50%;
51 | object-fit: cover;
52 | }
53 | h4 {
54 | margin-bottom: 0;
55 | }
56 | a {
57 | color: var(--clr-grey-5);
58 | }
59 | }
60 | `;
61 | export default Followers;
62 |
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
12 |
13 |
17 |
18 |
27 | Github User - Starter
28 |
29 |
30 |
31 |
32 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/src/components/Search.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import styled from 'styled-components';
3 | import { MdSearch } from 'react-icons/md';
4 | import { GithubContext } from '../context/context';
5 | const Search = () => {
6 | return search component
;
7 | };
8 |
9 | const Wrapper = styled.div`
10 | position: relative;
11 | display: grid;
12 | gap: 1rem 1.75rem;
13 | @media (min-width: 768px) {
14 | grid-template-columns: 1fr max-content;
15 | align-items: center;
16 | h3 {
17 | padding: 0 0.5rem;
18 | }
19 | }
20 | .form-control {
21 | background: var(--clr-white);
22 | display: grid;
23 | align-items: center;
24 | grid-template-columns: auto 1fr auto;
25 | column-gap: 0.5rem;
26 | border-radius: 5px;
27 | padding: 0.5rem;
28 | input {
29 | border-color: transparent;
30 | outline-color: var(--clr-grey-10);
31 | letter-spacing: var(--spacing);
32 | color: var(--clr-grey-3);
33 | padding: 0.25rem 0.5rem;
34 | }
35 | input::placeholder {
36 | color: var(--clr-grey-3);
37 | text-transform: capitalize;
38 | letter-spacing: var(--spacing);
39 | }
40 | button {
41 | border-radius: 5px;
42 | border-color: transparent;
43 | padding: 0.25rem 0.5rem;
44 | text-transform: capitalize;
45 | letter-spacing: var(--spacing);
46 | background: var(--clr-primary-5);
47 | color: var(--clr-white);
48 | transition: var(--transition);
49 | cursor: pointer;
50 | &:hover {
51 | background: var(--clr-primary-8);
52 | color: var(--clr-primary-1);
53 | }
54 | }
55 |
56 | svg {
57 | color: var(--clr-grey-5);
58 | }
59 | input,
60 | button,
61 | svg {
62 | font-size: 1.3rem;
63 | }
64 | @media (max-width: 800px) {
65 | button,
66 | input,
67 | svg {
68 | font-size: 0.85rem;
69 | }
70 | }
71 | }
72 | h3 {
73 | margin-bottom: 0;
74 | color: var(--clr-grey-5);
75 | font-weight: 400;
76 | }
77 | `;
78 | const ErrorWrapper = styled.article`
79 | position: absolute;
80 | width: 90vw;
81 | top: 0;
82 | left: 0;
83 | transform: translateY(-100%);
84 | text-transform: capitalize;
85 | p {
86 | color: red;
87 | letter-spacing: var(--spacing);
88 | }
89 | `;
90 | export default Search;
91 |
--------------------------------------------------------------------------------
/src/components/Card.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { GithubContext } from '../context/context';
3 | import styled from 'styled-components';
4 | import { MdBusiness, MdLocationOn, MdLink } from 'react-icons/md';
5 | const Card = () => {
6 | return card component
;
7 | };
8 | const Wrapper = styled.article`
9 | background: var(--clr-white);
10 | padding: 1.5rem 2rem;
11 | border-top-right-radius: var(--radius);
12 | border-bottom-left-radius: var(--radius);
13 | border-bottom-right-radius: var(--radius);
14 | position: relative;
15 | &::before {
16 | content: 'user';
17 | position: absolute;
18 | top: 0;
19 | left: 0;
20 | transform: translateY(-100%);
21 | background: var(--clr-white);
22 | color: var(--clr-grey-5);
23 | border-top-right-radius: var(--radius);
24 | border-top-left-radius: var(--radius);
25 | text-transform: capitalize;
26 | padding: 0.5rem 1rem 0 1rem;
27 | letter-spacing: var(--spacing);
28 | font-size: 1rem;
29 | }
30 | header {
31 | display: grid;
32 | grid-template-columns: auto 1fr auto;
33 | align-items: center;
34 | column-gap: 1rem;
35 | margin-bottom: 1rem;
36 | img {
37 | width: 75px;
38 | height: 75px;
39 | border-radius: 50%;
40 | }
41 | h4 {
42 | margin-bottom: 0.25rem;
43 | }
44 | p {
45 | margin-bottom: 0;
46 | }
47 | a {
48 | color: var(--clr-primary-5);
49 | border: 1px solid var(--clr-primary-5);
50 | padding: 0.25rem 0.75rem;
51 | border-radius: 1rem;
52 | text-transform: capitalize;
53 | letter-spacing: var(--spacing);
54 | transition: var(--transition);
55 | cursor: pointer;
56 | &:hover {
57 | background: var(--clr-primary-5);
58 | color: var(--clr-white);
59 | }
60 | }
61 | }
62 | .bio {
63 | color: var(--clr-grey-3);
64 | }
65 | .links {
66 | p,
67 | a {
68 | margin-bottom: 0.25rem;
69 | display: flex;
70 | align-items: center;
71 | svg {
72 | margin-right: 0.5rem;
73 | font-size: 1.3rem;
74 | }
75 | }
76 | a {
77 | color: var(--clr-primary-5);
78 | transition: var(--transition);
79 | svg {
80 | color: var(--clr-grey-5);
81 | }
82 | &:hover {
83 | color: var(--clr-primary-3);
84 | }
85 | }
86 | }
87 | `;
88 | export default Card;
89 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## Starter Project
2 |
3 | - css provided (global styles, styled components)
4 | - folders/files already setup
5 | - all imports included (warnings)
6 | - index.js for easier imports
7 |
8 | ## Styled Components
9 |
10 | [Styled-Components - Main Docs](https://styled-components.com/)
11 |
12 | ```jsx
13 | import styled from "styled-components";
14 |
15 | const ReactComponent = () => {
16 | // logic here
17 | return
18 | {some content}
19 |
20 | }
21 |
22 |
23 | const Wrapper = styled.htmlElement`
24 | write your styles here
25 | `
26 | export default ReactComponent
27 | ```
28 |
29 | ## React Icons
30 |
31 | [React Icons - Main Docs](https://react-icons.github.io/react-icons/)
32 |
33 | ```jsx
34 | import { FiUsers, FiUserPlus } from 'react-icons/fi';
35 | ;
36 | ```
37 |
38 | ## React Router Dom
39 |
40 | version used - "react-router-dom": "^5.2.0",
41 |
42 | - [react-router-dom - Main Docs](https://reactrouter.com/web/guides/quick-start)
43 |
44 | - renders the first child that matches
45 | - A always matches
46 |
47 | ## Gihthub API
48 |
49 | - [Root Endpoint](https://api.github.com)
50 | - [Get User](https://api.github.com/users/wesbos)
51 | - [Repos](https://api.github.com/users/john-smilga/repos?per_page=100)
52 | - [Followers](https://api.github.com/users/john-smilga/followers)
53 | - [Rate Limit](https://api.github.com/rate_limit)
54 |
55 | For unauthenticated requests, the rate limit allows for up to 60 requests per hour. Unauthenticated requests are associated with the originating IP address, and not the user making requests.
56 |
57 | ## Fusion Charts
58 |
59 | - [Fusion Charts - Main Docs](https://www.fusioncharts.com/)
60 | - [First React Chart](https://www.fusioncharts.com/dev/getting-started/react/your-first-chart-using-react)
61 | - [List Of Charts](https://www.fusioncharts.com/dev/chart-guide/list-of-charts)
62 | - [Themes](https://www.fusioncharts.com/dev/themes/introduction-to-themes)
63 |
64 | ## Auth0
65 |
66 | - [Auth0 - Main Docs](https://auth0.com/)
67 |
68 | - Create Application
69 | - Choose : Single Page Web Applications
70 | - Choose : React
71 | - Go to Settings Tab
72 | - Copy/Paste Domain, ClientID - can be public (or use .env)
73 | - Add Domain -
74 | for now http://localhost:3000 (DON'T COPY PASTE FROM URL BAR)
75 |
76 | - Allowed Callback URLs
77 | - Allowed Logout URLs
78 | - Allowed Web Origins
79 | - SAVE CHANGES!!!!!!!!!!!!!!!
80 |
81 | - Connections
82 | email,social
83 |
84 | - [React SDK Docs](https://auth0.com/docs/libraries/auth0-react)
85 | - [REACT SDK API Docs](https://auth0.github.io/auth0-react/)
86 |
87 | ## Deployment
88 |
89 | [Netlify](https://www.netlify.com/)
90 |
91 | ## Additional Info
92 |
93 | #### Redirects with react-router-dom
94 |
95 | In order for routing to work on netlify, redirects was added to the public folder
96 |
97 | - \_redirects file in public
98 |
99 | ```
100 |
101 | /* /index.html 200
102 |
103 | ```
104 |
105 | [Redirects Blog Post](https://dev.to/dance2die/page-not-found-on-netlify-with-react-router-58mc)
106 |
107 | #### Warnings and create-react-app
108 |
109 | package.json
110 |
111 | ```js
112 | "build": "CI= react-scripts build",
113 | ```
114 |
115 | [create-react-app Warning Fix Blog Post](https://community.netlify.com/t/how-to-fix-build-failures-with-create-react-app-in-production/17752)
116 |
--------------------------------------------------------------------------------
/src/index.css:
--------------------------------------------------------------------------------
1 | /*
2 | ===============
3 | Fonts
4 | ===============
5 | */
6 | @import url('https://fonts.googleapis.com/css?family=Open+Sans|Roboto:400,700&display=swap');
7 |
8 | /*
9 | ===============
10 | Variables
11 | ===============
12 | */
13 |
14 | :root {
15 | /* dark shades of primary color*/
16 | --clr-primary-1: hsl(185, 91%, 17%);
17 | --clr-primary-2: hsl(185, 84%, 25%);
18 | --clr-primary-3: hsl(185, 81%, 29%);
19 | --clr-primary-4: hsl(185, 77%, 34%);
20 | /* primary/main color */
21 | --clr-primary-5: hsl(185, 62%, 45%);
22 | /* lighter shades of primary color */
23 | --clr-primary-6: hsl(185, 57%, 50%);
24 | --clr-primary-7: hsl(184, 65%, 59%);
25 | --clr-primary-8: hsl(184, 80%, 74%);
26 | --clr-primary-9: hsl(185, 94%, 87%);
27 | --clr-primary-10: hsl(186, 100%, 94%);
28 | /* darkest grey - used for headings */
29 | --clr-grey-1: hsl(209, 61%, 16%);
30 | --clr-grey-2: hsl(211, 39%, 23%);
31 | --clr-grey-3: hsl(209, 34%, 30%);
32 | --clr-grey-4: hsl(209, 28%, 39%);
33 | /* grey used for paragraphs */
34 | --clr-grey-5: hsl(210, 22%, 49%);
35 | --clr-grey-6: hsl(209, 23%, 60%);
36 | --clr-grey-7: hsl(211, 27%, 70%);
37 | --clr-grey-8: hsl(210, 31%, 80%);
38 | --clr-grey-9: hsl(212, 33%, 89%);
39 | --clr-grey-10: #f1f5f8;
40 | --clr-white: #fff;
41 | --clr-red-dark: hsl(360, 67%, 44%);
42 | --clr-red-light: hsl(360, 71%, 66%);
43 | --clr-green-dark: hsl(125, 67%, 44%);
44 | --clr-green-light: hsl(125, 71%, 66%);
45 | --clr-black: #222;
46 | --ff-primary: 'Roboto', sans-serif;
47 | --ff-secondary: 'Open Sans', sans-serif;
48 | --transition: all 0.3s linear;
49 | --spacing: 0.1rem;
50 | --radius: 0.25rem;
51 | --light-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
52 | --dark-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
53 | --max-width: 1170px;
54 | --fixed-width: 620px;
55 | }
56 | /*
57 | ===============
58 | Global Styles
59 | ===============
60 | */
61 |
62 | *,
63 | ::after,
64 | ::before {
65 | margin: 0;
66 | padding: 0;
67 | box-sizing: border-box;
68 | }
69 | body {
70 | font-family: var(--ff-secondary);
71 | background: var(--clr-grey-10);
72 | color: var(--clr-grey-1);
73 | line-height: 1.5;
74 | font-size: 0.875rem;
75 | }
76 | ul {
77 | list-style-type: none;
78 | }
79 | a {
80 | text-decoration: none;
81 | }
82 | img {
83 | width: 100%;
84 | display: block;
85 | }
86 |
87 | h1,
88 | h2,
89 | h3,
90 | h4 {
91 | letter-spacing: var(--spacing);
92 | text-transform: capitalize;
93 | line-height: 1.25;
94 | margin-bottom: 0.75rem;
95 | font-family: var(--ff-primary);
96 | }
97 | h1 {
98 | font-size: 3rem;
99 | }
100 | h2 {
101 | font-size: 2rem;
102 | }
103 | h3 {
104 | font-size: 1.25rem;
105 | }
106 | h4 {
107 | font-size: 0.875rem;
108 | }
109 | p {
110 | margin-bottom: 1.25rem;
111 | color: var(--clr-grey-5);
112 | }
113 | @media screen and (min-width: 800px) {
114 | h1 {
115 | font-size: 4rem;
116 | }
117 | h2 {
118 | font-size: 2.5rem;
119 | }
120 | h3 {
121 | font-size: 1.75rem;
122 | }
123 | h4 {
124 | font-size: 1rem;
125 | }
126 | body {
127 | font-size: 1rem;
128 | }
129 | h1,
130 | h2,
131 | h3,
132 | h4 {
133 | line-height: 1;
134 | }
135 | }
136 | /* global classes */
137 |
138 | .btn {
139 | text-transform: uppercase;
140 | background: var(--clr-primary-5);
141 | color: var(--clr-primary-10);
142 | padding: 0.375rem 0.75rem;
143 | letter-spacing: var(--spacing);
144 | display: inline-block;
145 | font-weight: 400;
146 | transition: var(--transition);
147 | font-size: 0.875rem;
148 | border: 2px solid transparent;
149 | cursor: pointer;
150 | box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
151 | border-radius: var(--radius);
152 | }
153 | .btn:hover {
154 | background: var(--clr-primary-8);
155 | color: var(--clr-primary-1);
156 | }
157 |
158 | /* section */
159 | .section {
160 | padding: 1rem 0;
161 | position: relative;
162 | }
163 |
164 | .section-center {
165 | width: 90vw;
166 | margin: 0 auto;
167 | max-width: 1170px;
168 | }
169 | @media screen and (min-width: 992px) {
170 | .section-center {
171 | width: 95vw;
172 | }
173 | }
174 | .loading-img {
175 | width: 20rem;
176 | height: 20rem;
177 | display: block;
178 | margin: 0 auto;
179 | margin-top: 10rem;
180 | }
181 | main {
182 | padding-bottom: 2rem;
183 | }
184 |
--------------------------------------------------------------------------------
/src/serviceWorker.js:
--------------------------------------------------------------------------------
1 | // This optional code is used to register a service worker.
2 | // register() is not called by default.
3 |
4 | // This lets the app load faster on subsequent visits in production, and gives
5 | // it offline capabilities. However, it also means that developers (and users)
6 | // will only see deployed updates on subsequent visits to a page, after all the
7 | // existing tabs open on the page have been closed, since previously cached
8 | // resources are updated in the background.
9 |
10 | // To learn more about the benefits of this model and instructions on how to
11 | // opt-in, read https://bit.ly/CRA-PWA
12 |
13 | const isLocalhost = Boolean(
14 | window.location.hostname === 'localhost' ||
15 | // [::1] is the IPv6 localhost address.
16 | window.location.hostname === '[::1]' ||
17 | // 127.0.0.0/8 are considered localhost for IPv4.
18 | window.location.hostname.match(
19 | /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
20 | )
21 | );
22 |
23 | export function register(config) {
24 | if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
25 | // The URL constructor is available in all browsers that support SW.
26 | const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);
27 | if (publicUrl.origin !== window.location.origin) {
28 | // Our service worker won't work if PUBLIC_URL is on a different origin
29 | // from what our page is served on. This might happen if a CDN is used to
30 | // serve assets; see https://github.com/facebook/create-react-app/issues/2374
31 | return;
32 | }
33 |
34 | window.addEventListener('load', () => {
35 | const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;
36 |
37 | if (isLocalhost) {
38 | // This is running on localhost. Let's check if a service worker still exists or not.
39 | checkValidServiceWorker(swUrl, config);
40 |
41 | // Add some additional logging to localhost, pointing developers to the
42 | // service worker/PWA documentation.
43 | navigator.serviceWorker.ready.then(() => {
44 | console.log(
45 | 'This web app is being served cache-first by a service ' +
46 | 'worker. To learn more, visit https://bit.ly/CRA-PWA'
47 | );
48 | });
49 | } else {
50 | // Is not localhost. Just register service worker
51 | registerValidSW(swUrl, config);
52 | }
53 | });
54 | }
55 | }
56 |
57 | function registerValidSW(swUrl, config) {
58 | navigator.serviceWorker
59 | .register(swUrl)
60 | .then(registration => {
61 | registration.onupdatefound = () => {
62 | const installingWorker = registration.installing;
63 | if (installingWorker == null) {
64 | return;
65 | }
66 | installingWorker.onstatechange = () => {
67 | if (installingWorker.state === 'installed') {
68 | if (navigator.serviceWorker.controller) {
69 | // At this point, the updated precached content has been fetched,
70 | // but the previous service worker will still serve the older
71 | // content until all client tabs are closed.
72 | console.log(
73 | 'New content is available and will be used when all ' +
74 | 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'
75 | );
76 |
77 | // Execute callback
78 | if (config && config.onUpdate) {
79 | config.onUpdate(registration);
80 | }
81 | } else {
82 | // At this point, everything has been precached.
83 | // It's the perfect time to display a
84 | // "Content is cached for offline use." message.
85 | console.log('Content is cached for offline use.');
86 |
87 | // Execute callback
88 | if (config && config.onSuccess) {
89 | config.onSuccess(registration);
90 | }
91 | }
92 | }
93 | };
94 | };
95 | })
96 | .catch(error => {
97 | console.error('Error during service worker registration:', error);
98 | });
99 | }
100 |
101 | function checkValidServiceWorker(swUrl, config) {
102 | // Check if the service worker can be found. If it can't reload the page.
103 | fetch(swUrl, {
104 | headers: { 'Service-Worker': 'script' },
105 | })
106 | .then(response => {
107 | // Ensure service worker exists, and that we really are getting a JS file.
108 | const contentType = response.headers.get('content-type');
109 | if (
110 | response.status === 404 ||
111 | (contentType != null && contentType.indexOf('javascript') === -1)
112 | ) {
113 | // No service worker found. Probably a different app. Reload the page.
114 | navigator.serviceWorker.ready.then(registration => {
115 | registration.unregister().then(() => {
116 | window.location.reload();
117 | });
118 | });
119 | } else {
120 | // Service worker found. Proceed as normal.
121 | registerValidSW(swUrl, config);
122 | }
123 | })
124 | .catch(() => {
125 | console.log(
126 | 'No internet connection found. App is running in offline mode.'
127 | );
128 | });
129 | }
130 |
131 | export function unregister() {
132 | if ('serviceWorker' in navigator) {
133 | navigator.serviceWorker.ready
134 | .then(registration => {
135 | registration.unregister();
136 | })
137 | .catch(error => {
138 | console.error(error.message);
139 | });
140 | }
141 | }
142 |
--------------------------------------------------------------------------------
/src/images/login-img.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/context/mockData.js/mockFollowers.js:
--------------------------------------------------------------------------------
1 | export default [
2 | {
3 | login: 'ThaELL1',
4 | id: 37319124,
5 | node_id: 'MDQ6VXNlcjM3MzE5MTI0',
6 | avatar_url: 'https://avatars3.githubusercontent.com/u/37319124?v=4',
7 | gravatar_id: '',
8 | url: 'https://api.github.com/users/ThaELL1',
9 | html_url: 'https://github.com/ThaELL1',
10 | followers_url: 'https://api.github.com/users/ThaELL1/followers',
11 | following_url:
12 | 'https://api.github.com/users/ThaELL1/following{/other_user}',
13 | gists_url: 'https://api.github.com/users/ThaELL1/gists{/gist_id}',
14 | starred_url: 'https://api.github.com/users/ThaELL1/starred{/owner}{/repo}',
15 | subscriptions_url: 'https://api.github.com/users/ThaELL1/subscriptions',
16 | organizations_url: 'https://api.github.com/users/ThaELL1/orgs',
17 | repos_url: 'https://api.github.com/users/ThaELL1/repos',
18 | events_url: 'https://api.github.com/users/ThaELL1/events{/privacy}',
19 | received_events_url: 'https://api.github.com/users/ThaELL1/received_events',
20 | type: 'User',
21 | site_admin: false,
22 | },
23 | {
24 | login: 'degreeck',
25 | id: 31404082,
26 | node_id: 'MDQ6VXNlcjMxNDA0MDgy',
27 | avatar_url: 'https://avatars1.githubusercontent.com/u/31404082?v=4',
28 | gravatar_id: '',
29 | url: 'https://api.github.com/users/degreeck',
30 | html_url: 'https://github.com/degreeck',
31 | followers_url: 'https://api.github.com/users/degreeck/followers',
32 | following_url:
33 | 'https://api.github.com/users/degreeck/following{/other_user}',
34 | gists_url: 'https://api.github.com/users/degreeck/gists{/gist_id}',
35 | starred_url: 'https://api.github.com/users/degreeck/starred{/owner}{/repo}',
36 | subscriptions_url: 'https://api.github.com/users/degreeck/subscriptions',
37 | organizations_url: 'https://api.github.com/users/degreeck/orgs',
38 | repos_url: 'https://api.github.com/users/degreeck/repos',
39 | events_url: 'https://api.github.com/users/degreeck/events{/privacy}',
40 | received_events_url:
41 | 'https://api.github.com/users/degreeck/received_events',
42 | type: 'User',
43 | site_admin: false,
44 | },
45 | {
46 | login: 'Kemmy91',
47 | id: 42711367,
48 | node_id: 'MDQ6VXNlcjQyNzExMzY3',
49 | avatar_url: 'https://avatars2.githubusercontent.com/u/42711367?v=4',
50 | gravatar_id: '',
51 | url: 'https://api.github.com/users/Kemmy91',
52 | html_url: 'https://github.com/Kemmy91',
53 | followers_url: 'https://api.github.com/users/Kemmy91/followers',
54 | following_url:
55 | 'https://api.github.com/users/Kemmy91/following{/other_user}',
56 | gists_url: 'https://api.github.com/users/Kemmy91/gists{/gist_id}',
57 | starred_url: 'https://api.github.com/users/Kemmy91/starred{/owner}{/repo}',
58 | subscriptions_url: 'https://api.github.com/users/Kemmy91/subscriptions',
59 | organizations_url: 'https://api.github.com/users/Kemmy91/orgs',
60 | repos_url: 'https://api.github.com/users/Kemmy91/repos',
61 | events_url: 'https://api.github.com/users/Kemmy91/events{/privacy}',
62 | received_events_url: 'https://api.github.com/users/Kemmy91/received_events',
63 | type: 'User',
64 | site_admin: false,
65 | },
66 | {
67 | login: 'alivanoy',
68 | id: 24864699,
69 | node_id: 'MDQ6VXNlcjI0ODY0Njk5',
70 | avatar_url: 'https://avatars2.githubusercontent.com/u/24864699?v=4',
71 | gravatar_id: '',
72 | url: 'https://api.github.com/users/alivanoy',
73 | html_url: 'https://github.com/alivanoy',
74 | followers_url: 'https://api.github.com/users/alivanoy/followers',
75 | following_url:
76 | 'https://api.github.com/users/alivanoy/following{/other_user}',
77 | gists_url: 'https://api.github.com/users/alivanoy/gists{/gist_id}',
78 | starred_url: 'https://api.github.com/users/alivanoy/starred{/owner}{/repo}',
79 | subscriptions_url: 'https://api.github.com/users/alivanoy/subscriptions',
80 | organizations_url: 'https://api.github.com/users/alivanoy/orgs',
81 | repos_url: 'https://api.github.com/users/alivanoy/repos',
82 | events_url: 'https://api.github.com/users/alivanoy/events{/privacy}',
83 | received_events_url:
84 | 'https://api.github.com/users/alivanoy/received_events',
85 | type: 'User',
86 | site_admin: false,
87 | },
88 | {
89 | login: 'Turanwest',
90 | id: 40670951,
91 | node_id: 'MDQ6VXNlcjQwNjcwOTUx',
92 | avatar_url: 'https://avatars1.githubusercontent.com/u/40670951?v=4',
93 | gravatar_id: '',
94 | url: 'https://api.github.com/users/Turanwest',
95 | html_url: 'https://github.com/Turanwest',
96 | followers_url: 'https://api.github.com/users/Turanwest/followers',
97 | following_url:
98 | 'https://api.github.com/users/Turanwest/following{/other_user}',
99 | gists_url: 'https://api.github.com/users/Turanwest/gists{/gist_id}',
100 | starred_url:
101 | 'https://api.github.com/users/Turanwest/starred{/owner}{/repo}',
102 | subscriptions_url: 'https://api.github.com/users/Turanwest/subscriptions',
103 | organizations_url: 'https://api.github.com/users/Turanwest/orgs',
104 | repos_url: 'https://api.github.com/users/Turanwest/repos',
105 | events_url: 'https://api.github.com/users/Turanwest/events{/privacy}',
106 | received_events_url:
107 | 'https://api.github.com/users/Turanwest/received_events',
108 | type: 'User',
109 | site_admin: false,
110 | },
111 | {
112 | login: 'cvsiraj95',
113 | id: 20457752,
114 | node_id: 'MDQ6VXNlcjIwNDU3NzUy',
115 | avatar_url: 'https://avatars2.githubusercontent.com/u/20457752?v=4',
116 | gravatar_id: '',
117 | url: 'https://api.github.com/users/cvsiraj95',
118 | html_url: 'https://github.com/cvsiraj95',
119 | followers_url: 'https://api.github.com/users/cvsiraj95/followers',
120 | following_url:
121 | 'https://api.github.com/users/cvsiraj95/following{/other_user}',
122 | gists_url: 'https://api.github.com/users/cvsiraj95/gists{/gist_id}',
123 | starred_url:
124 | 'https://api.github.com/users/cvsiraj95/starred{/owner}{/repo}',
125 | subscriptions_url: 'https://api.github.com/users/cvsiraj95/subscriptions',
126 | organizations_url: 'https://api.github.com/users/cvsiraj95/orgs',
127 | repos_url: 'https://api.github.com/users/cvsiraj95/repos',
128 | events_url: 'https://api.github.com/users/cvsiraj95/events{/privacy}',
129 | received_events_url:
130 | 'https://api.github.com/users/cvsiraj95/received_events',
131 | type: 'User',
132 | site_admin: false,
133 | },
134 | {
135 | login: 'sidharthchawda',
136 | id: 33715740,
137 | node_id: 'MDQ6VXNlcjMzNzE1NzQw',
138 | avatar_url: 'https://avatars3.githubusercontent.com/u/33715740?v=4',
139 | gravatar_id: '',
140 | url: 'https://api.github.com/users/sidharthchawda',
141 | html_url: 'https://github.com/sidharthchawda',
142 | followers_url: 'https://api.github.com/users/sidharthchawda/followers',
143 | following_url:
144 | 'https://api.github.com/users/sidharthchawda/following{/other_user}',
145 | gists_url: 'https://api.github.com/users/sidharthchawda/gists{/gist_id}',
146 | starred_url:
147 | 'https://api.github.com/users/sidharthchawda/starred{/owner}{/repo}',
148 | subscriptions_url:
149 | 'https://api.github.com/users/sidharthchawda/subscriptions',
150 | organizations_url: 'https://api.github.com/users/sidharthchawda/orgs',
151 | repos_url: 'https://api.github.com/users/sidharthchawda/repos',
152 | events_url: 'https://api.github.com/users/sidharthchawda/events{/privacy}',
153 | received_events_url:
154 | 'https://api.github.com/users/sidharthchawda/received_events',
155 | type: 'User',
156 | site_admin: false,
157 | },
158 | {
159 | login: 'mahmudalhakim',
160 | id: 16646383,
161 | node_id: 'MDQ6VXNlcjE2NjQ2Mzgz',
162 | avatar_url: 'https://avatars0.githubusercontent.com/u/16646383?v=4',
163 | gravatar_id: '',
164 | url: 'https://api.github.com/users/mahmudalhakim',
165 | html_url: 'https://github.com/mahmudalhakim',
166 | followers_url: 'https://api.github.com/users/mahmudalhakim/followers',
167 | following_url:
168 | 'https://api.github.com/users/mahmudalhakim/following{/other_user}',
169 | gists_url: 'https://api.github.com/users/mahmudalhakim/gists{/gist_id}',
170 | starred_url:
171 | 'https://api.github.com/users/mahmudalhakim/starred{/owner}{/repo}',
172 | subscriptions_url:
173 | 'https://api.github.com/users/mahmudalhakim/subscriptions',
174 | organizations_url: 'https://api.github.com/users/mahmudalhakim/orgs',
175 | repos_url: 'https://api.github.com/users/mahmudalhakim/repos',
176 | events_url: 'https://api.github.com/users/mahmudalhakim/events{/privacy}',
177 | received_events_url:
178 | 'https://api.github.com/users/mahmudalhakim/received_events',
179 | type: 'User',
180 | site_admin: false,
181 | },
182 | {
183 | login: 'messanjay31',
184 | id: 41499303,
185 | node_id: 'MDQ6VXNlcjQxNDk5MzAz',
186 | avatar_url: 'https://avatars0.githubusercontent.com/u/41499303?v=4',
187 | gravatar_id: '',
188 | url: 'https://api.github.com/users/messanjay31',
189 | html_url: 'https://github.com/messanjay31',
190 | followers_url: 'https://api.github.com/users/messanjay31/followers',
191 | following_url:
192 | 'https://api.github.com/users/messanjay31/following{/other_user}',
193 | gists_url: 'https://api.github.com/users/messanjay31/gists{/gist_id}',
194 | starred_url:
195 | 'https://api.github.com/users/messanjay31/starred{/owner}{/repo}',
196 | subscriptions_url: 'https://api.github.com/users/messanjay31/subscriptions',
197 | organizations_url: 'https://api.github.com/users/messanjay31/orgs',
198 | repos_url: 'https://api.github.com/users/messanjay31/repos',
199 | events_url: 'https://api.github.com/users/messanjay31/events{/privacy}',
200 | received_events_url:
201 | 'https://api.github.com/users/messanjay31/received_events',
202 | type: 'User',
203 | site_admin: false,
204 | },
205 | {
206 | login: 'jha900',
207 | id: 5097792,
208 | node_id: 'MDQ6VXNlcjUwOTc3OTI=',
209 | avatar_url: 'https://avatars1.githubusercontent.com/u/5097792?v=4',
210 | gravatar_id: '',
211 | url: 'https://api.github.com/users/jha900',
212 | html_url: 'https://github.com/jha900',
213 | followers_url: 'https://api.github.com/users/jha900/followers',
214 | following_url: 'https://api.github.com/users/jha900/following{/other_user}',
215 | gists_url: 'https://api.github.com/users/jha900/gists{/gist_id}',
216 | starred_url: 'https://api.github.com/users/jha900/starred{/owner}{/repo}',
217 | subscriptions_url: 'https://api.github.com/users/jha900/subscriptions',
218 | organizations_url: 'https://api.github.com/users/jha900/orgs',
219 | repos_url: 'https://api.github.com/users/jha900/repos',
220 | events_url: 'https://api.github.com/users/jha900/events{/privacy}',
221 | received_events_url: 'https://api.github.com/users/jha900/received_events',
222 | type: 'User',
223 | site_admin: false,
224 | },
225 | {
226 | login: 'mechack200',
227 | id: 39648010,
228 | node_id: 'MDQ6VXNlcjM5NjQ4MDEw',
229 | avatar_url: 'https://avatars2.githubusercontent.com/u/39648010?v=4',
230 | gravatar_id: '',
231 | url: 'https://api.github.com/users/mechack200',
232 | html_url: 'https://github.com/mechack200',
233 | followers_url: 'https://api.github.com/users/mechack200/followers',
234 | following_url:
235 | 'https://api.github.com/users/mechack200/following{/other_user}',
236 | gists_url: 'https://api.github.com/users/mechack200/gists{/gist_id}',
237 | starred_url:
238 | 'https://api.github.com/users/mechack200/starred{/owner}{/repo}',
239 | subscriptions_url: 'https://api.github.com/users/mechack200/subscriptions',
240 | organizations_url: 'https://api.github.com/users/mechack200/orgs',
241 | repos_url: 'https://api.github.com/users/mechack200/repos',
242 | events_url: 'https://api.github.com/users/mechack200/events{/privacy}',
243 | received_events_url:
244 | 'https://api.github.com/users/mechack200/received_events',
245 | type: 'User',
246 | site_admin: false,
247 | },
248 | {
249 | login: 'oromesuo1',
250 | id: 28497078,
251 | node_id: 'MDQ6VXNlcjI4NDk3MDc4',
252 | avatar_url: 'https://avatars3.githubusercontent.com/u/28497078?v=4',
253 | gravatar_id: '',
254 | url: 'https://api.github.com/users/oromesuo1',
255 | html_url: 'https://github.com/oromesuo1',
256 | followers_url: 'https://api.github.com/users/oromesuo1/followers',
257 | following_url:
258 | 'https://api.github.com/users/oromesuo1/following{/other_user}',
259 | gists_url: 'https://api.github.com/users/oromesuo1/gists{/gist_id}',
260 | starred_url:
261 | 'https://api.github.com/users/oromesuo1/starred{/owner}{/repo}',
262 | subscriptions_url: 'https://api.github.com/users/oromesuo1/subscriptions',
263 | organizations_url: 'https://api.github.com/users/oromesuo1/orgs',
264 | repos_url: 'https://api.github.com/users/oromesuo1/repos',
265 | events_url: 'https://api.github.com/users/oromesuo1/events{/privacy}',
266 | received_events_url:
267 | 'https://api.github.com/users/oromesuo1/received_events',
268 | type: 'User',
269 | site_admin: false,
270 | },
271 | {
272 | login: 'TaiwoOluwasegun',
273 | id: 43286815,
274 | node_id: 'MDQ6VXNlcjQzMjg2ODE1',
275 | avatar_url: 'https://avatars2.githubusercontent.com/u/43286815?v=4',
276 | gravatar_id: '',
277 | url: 'https://api.github.com/users/TaiwoOluwasegun',
278 | html_url: 'https://github.com/TaiwoOluwasegun',
279 | followers_url: 'https://api.github.com/users/TaiwoOluwasegun/followers',
280 | following_url:
281 | 'https://api.github.com/users/TaiwoOluwasegun/following{/other_user}',
282 | gists_url: 'https://api.github.com/users/TaiwoOluwasegun/gists{/gist_id}',
283 | starred_url:
284 | 'https://api.github.com/users/TaiwoOluwasegun/starred{/owner}{/repo}',
285 | subscriptions_url:
286 | 'https://api.github.com/users/TaiwoOluwasegun/subscriptions',
287 | organizations_url: 'https://api.github.com/users/TaiwoOluwasegun/orgs',
288 | repos_url: 'https://api.github.com/users/TaiwoOluwasegun/repos',
289 | events_url: 'https://api.github.com/users/TaiwoOluwasegun/events{/privacy}',
290 | received_events_url:
291 | 'https://api.github.com/users/TaiwoOluwasegun/received_events',
292 | type: 'User',
293 | site_admin: false,
294 | },
295 | {
296 | login: 'afourteia',
297 | id: 12877426,
298 | node_id: 'MDQ6VXNlcjEyODc3NDI2',
299 | avatar_url: 'https://avatars2.githubusercontent.com/u/12877426?v=4',
300 | gravatar_id: '',
301 | url: 'https://api.github.com/users/afourteia',
302 | html_url: 'https://github.com/afourteia',
303 | followers_url: 'https://api.github.com/users/afourteia/followers',
304 | following_url:
305 | 'https://api.github.com/users/afourteia/following{/other_user}',
306 | gists_url: 'https://api.github.com/users/afourteia/gists{/gist_id}',
307 | starred_url:
308 | 'https://api.github.com/users/afourteia/starred{/owner}{/repo}',
309 | subscriptions_url: 'https://api.github.com/users/afourteia/subscriptions',
310 | organizations_url: 'https://api.github.com/users/afourteia/orgs',
311 | repos_url: 'https://api.github.com/users/afourteia/repos',
312 | events_url: 'https://api.github.com/users/afourteia/events{/privacy}',
313 | received_events_url:
314 | 'https://api.github.com/users/afourteia/received_events',
315 | type: 'User',
316 | site_admin: false,
317 | },
318 | {
319 | login: 'kozen0',
320 | id: 32563910,
321 | node_id: 'MDQ6VXNlcjMyNTYzOTEw',
322 | avatar_url: 'https://avatars2.githubusercontent.com/u/32563910?v=4',
323 | gravatar_id: '',
324 | url: 'https://api.github.com/users/kozen0',
325 | html_url: 'https://github.com/kozen0',
326 | followers_url: 'https://api.github.com/users/kozen0/followers',
327 | following_url: 'https://api.github.com/users/kozen0/following{/other_user}',
328 | gists_url: 'https://api.github.com/users/kozen0/gists{/gist_id}',
329 | starred_url: 'https://api.github.com/users/kozen0/starred{/owner}{/repo}',
330 | subscriptions_url: 'https://api.github.com/users/kozen0/subscriptions',
331 | organizations_url: 'https://api.github.com/users/kozen0/orgs',
332 | repos_url: 'https://api.github.com/users/kozen0/repos',
333 | events_url: 'https://api.github.com/users/kozen0/events{/privacy}',
334 | received_events_url: 'https://api.github.com/users/kozen0/received_events',
335 | type: 'User',
336 | site_admin: false,
337 | },
338 | {
339 | login: 'vipinkrishna',
340 | id: 8280880,
341 | node_id: 'MDQ6VXNlcjgyODA4ODA=',
342 | avatar_url: 'https://avatars1.githubusercontent.com/u/8280880?v=4',
343 | gravatar_id: '',
344 | url: 'https://api.github.com/users/vipinkrishna',
345 | html_url: 'https://github.com/vipinkrishna',
346 | followers_url: 'https://api.github.com/users/vipinkrishna/followers',
347 | following_url:
348 | 'https://api.github.com/users/vipinkrishna/following{/other_user}',
349 | gists_url: 'https://api.github.com/users/vipinkrishna/gists{/gist_id}',
350 | starred_url:
351 | 'https://api.github.com/users/vipinkrishna/starred{/owner}{/repo}',
352 | subscriptions_url:
353 | 'https://api.github.com/users/vipinkrishna/subscriptions',
354 | organizations_url: 'https://api.github.com/users/vipinkrishna/orgs',
355 | repos_url: 'https://api.github.com/users/vipinkrishna/repos',
356 | events_url: 'https://api.github.com/users/vipinkrishna/events{/privacy}',
357 | received_events_url:
358 | 'https://api.github.com/users/vipinkrishna/received_events',
359 | type: 'User',
360 | site_admin: false,
361 | },
362 | {
363 | login: 'ChrisLidyard',
364 | id: 39034474,
365 | node_id: 'MDQ6VXNlcjM5MDM0NDc0',
366 | avatar_url: 'https://avatars1.githubusercontent.com/u/39034474?v=4',
367 | gravatar_id: '',
368 | url: 'https://api.github.com/users/ChrisLidyard',
369 | html_url: 'https://github.com/ChrisLidyard',
370 | followers_url: 'https://api.github.com/users/ChrisLidyard/followers',
371 | following_url:
372 | 'https://api.github.com/users/ChrisLidyard/following{/other_user}',
373 | gists_url: 'https://api.github.com/users/ChrisLidyard/gists{/gist_id}',
374 | starred_url:
375 | 'https://api.github.com/users/ChrisLidyard/starred{/owner}{/repo}',
376 | subscriptions_url:
377 | 'https://api.github.com/users/ChrisLidyard/subscriptions',
378 | organizations_url: 'https://api.github.com/users/ChrisLidyard/orgs',
379 | repos_url: 'https://api.github.com/users/ChrisLidyard/repos',
380 | events_url: 'https://api.github.com/users/ChrisLidyard/events{/privacy}',
381 | received_events_url:
382 | 'https://api.github.com/users/ChrisLidyard/received_events',
383 | type: 'User',
384 | site_admin: false,
385 | },
386 | {
387 | login: 'flex2016',
388 | id: 26524099,
389 | node_id: 'MDQ6VXNlcjI2NTI0MDk5',
390 | avatar_url: 'https://avatars1.githubusercontent.com/u/26524099?v=4',
391 | gravatar_id: '',
392 | url: 'https://api.github.com/users/flex2016',
393 | html_url: 'https://github.com/flex2016',
394 | followers_url: 'https://api.github.com/users/flex2016/followers',
395 | following_url:
396 | 'https://api.github.com/users/flex2016/following{/other_user}',
397 | gists_url: 'https://api.github.com/users/flex2016/gists{/gist_id}',
398 | starred_url: 'https://api.github.com/users/flex2016/starred{/owner}{/repo}',
399 | subscriptions_url: 'https://api.github.com/users/flex2016/subscriptions',
400 | organizations_url: 'https://api.github.com/users/flex2016/orgs',
401 | repos_url: 'https://api.github.com/users/flex2016/repos',
402 | events_url: 'https://api.github.com/users/flex2016/events{/privacy}',
403 | received_events_url:
404 | 'https://api.github.com/users/flex2016/received_events',
405 | type: 'User',
406 | site_admin: false,
407 | },
408 | {
409 | login: 'MaurickThom',
410 | id: 43498912,
411 | node_id: 'MDQ6VXNlcjQzNDk4OTEy',
412 | avatar_url: 'https://avatars0.githubusercontent.com/u/43498912?v=4',
413 | gravatar_id: '',
414 | url: 'https://api.github.com/users/MaurickThom',
415 | html_url: 'https://github.com/MaurickThom',
416 | followers_url: 'https://api.github.com/users/MaurickThom/followers',
417 | following_url:
418 | 'https://api.github.com/users/MaurickThom/following{/other_user}',
419 | gists_url: 'https://api.github.com/users/MaurickThom/gists{/gist_id}',
420 | starred_url:
421 | 'https://api.github.com/users/MaurickThom/starred{/owner}{/repo}',
422 | subscriptions_url: 'https://api.github.com/users/MaurickThom/subscriptions',
423 | organizations_url: 'https://api.github.com/users/MaurickThom/orgs',
424 | repos_url: 'https://api.github.com/users/MaurickThom/repos',
425 | events_url: 'https://api.github.com/users/MaurickThom/events{/privacy}',
426 | received_events_url:
427 | 'https://api.github.com/users/MaurickThom/received_events',
428 | type: 'User',
429 | site_admin: false,
430 | },
431 | {
432 | login: 'iambin',
433 | id: 5101374,
434 | node_id: 'MDQ6VXNlcjUxMDEzNzQ=',
435 | avatar_url: 'https://avatars0.githubusercontent.com/u/5101374?v=4',
436 | gravatar_id: '',
437 | url: 'https://api.github.com/users/iambin',
438 | html_url: 'https://github.com/iambin',
439 | followers_url: 'https://api.github.com/users/iambin/followers',
440 | following_url: 'https://api.github.com/users/iambin/following{/other_user}',
441 | gists_url: 'https://api.github.com/users/iambin/gists{/gist_id}',
442 | starred_url: 'https://api.github.com/users/iambin/starred{/owner}{/repo}',
443 | subscriptions_url: 'https://api.github.com/users/iambin/subscriptions',
444 | organizations_url: 'https://api.github.com/users/iambin/orgs',
445 | repos_url: 'https://api.github.com/users/iambin/repos',
446 | events_url: 'https://api.github.com/users/iambin/events{/privacy}',
447 | received_events_url: 'https://api.github.com/users/iambin/received_events',
448 | type: 'User',
449 | site_admin: false,
450 | },
451 | {
452 | login: 'OlhaDemydenko',
453 | id: 45002163,
454 | node_id: 'MDQ6VXNlcjQ1MDAyMTYz',
455 | avatar_url: 'https://avatars1.githubusercontent.com/u/45002163?v=4',
456 | gravatar_id: '',
457 | url: 'https://api.github.com/users/OlhaDemydenko',
458 | html_url: 'https://github.com/OlhaDemydenko',
459 | followers_url: 'https://api.github.com/users/OlhaDemydenko/followers',
460 | following_url:
461 | 'https://api.github.com/users/OlhaDemydenko/following{/other_user}',
462 | gists_url: 'https://api.github.com/users/OlhaDemydenko/gists{/gist_id}',
463 | starred_url:
464 | 'https://api.github.com/users/OlhaDemydenko/starred{/owner}{/repo}',
465 | subscriptions_url:
466 | 'https://api.github.com/users/OlhaDemydenko/subscriptions',
467 | organizations_url: 'https://api.github.com/users/OlhaDemydenko/orgs',
468 | repos_url: 'https://api.github.com/users/OlhaDemydenko/repos',
469 | events_url: 'https://api.github.com/users/OlhaDemydenko/events{/privacy}',
470 | received_events_url:
471 | 'https://api.github.com/users/OlhaDemydenko/received_events',
472 | type: 'User',
473 | site_admin: false,
474 | },
475 | {
476 | login: 'brestby',
477 | id: 14026212,
478 | node_id: 'MDQ6VXNlcjE0MDI2MjEy',
479 | avatar_url: 'https://avatars0.githubusercontent.com/u/14026212?v=4',
480 | gravatar_id: '',
481 | url: 'https://api.github.com/users/brestby',
482 | html_url: 'https://github.com/brestby',
483 | followers_url: 'https://api.github.com/users/brestby/followers',
484 | following_url:
485 | 'https://api.github.com/users/brestby/following{/other_user}',
486 | gists_url: 'https://api.github.com/users/brestby/gists{/gist_id}',
487 | starred_url: 'https://api.github.com/users/brestby/starred{/owner}{/repo}',
488 | subscriptions_url: 'https://api.github.com/users/brestby/subscriptions',
489 | organizations_url: 'https://api.github.com/users/brestby/orgs',
490 | repos_url: 'https://api.github.com/users/brestby/repos',
491 | events_url: 'https://api.github.com/users/brestby/events{/privacy}',
492 | received_events_url: 'https://api.github.com/users/brestby/received_events',
493 | type: 'User',
494 | site_admin: false,
495 | },
496 | {
497 | login: 'xipeRafa',
498 | id: 43357824,
499 | node_id: 'MDQ6VXNlcjQzMzU3ODI0',
500 | avatar_url: 'https://avatars3.githubusercontent.com/u/43357824?v=4',
501 | gravatar_id: '',
502 | url: 'https://api.github.com/users/xipeRafa',
503 | html_url: 'https://github.com/xipeRafa',
504 | followers_url: 'https://api.github.com/users/xipeRafa/followers',
505 | following_url:
506 | 'https://api.github.com/users/xipeRafa/following{/other_user}',
507 | gists_url: 'https://api.github.com/users/xipeRafa/gists{/gist_id}',
508 | starred_url: 'https://api.github.com/users/xipeRafa/starred{/owner}{/repo}',
509 | subscriptions_url: 'https://api.github.com/users/xipeRafa/subscriptions',
510 | organizations_url: 'https://api.github.com/users/xipeRafa/orgs',
511 | repos_url: 'https://api.github.com/users/xipeRafa/repos',
512 | events_url: 'https://api.github.com/users/xipeRafa/events{/privacy}',
513 | received_events_url:
514 | 'https://api.github.com/users/xipeRafa/received_events',
515 | type: 'User',
516 | site_admin: false,
517 | },
518 | {
519 | login: 'kotya',
520 | id: 1913221,
521 | node_id: 'MDQ6VXNlcjE5MTMyMjE=',
522 | avatar_url: 'https://avatars3.githubusercontent.com/u/1913221?v=4',
523 | gravatar_id: '',
524 | url: 'https://api.github.com/users/kotya',
525 | html_url: 'https://github.com/kotya',
526 | followers_url: 'https://api.github.com/users/kotya/followers',
527 | following_url: 'https://api.github.com/users/kotya/following{/other_user}',
528 | gists_url: 'https://api.github.com/users/kotya/gists{/gist_id}',
529 | starred_url: 'https://api.github.com/users/kotya/starred{/owner}{/repo}',
530 | subscriptions_url: 'https://api.github.com/users/kotya/subscriptions',
531 | organizations_url: 'https://api.github.com/users/kotya/orgs',
532 | repos_url: 'https://api.github.com/users/kotya/repos',
533 | events_url: 'https://api.github.com/users/kotya/events{/privacy}',
534 | received_events_url: 'https://api.github.com/users/kotya/received_events',
535 | type: 'User',
536 | site_admin: false,
537 | },
538 | {
539 | login: 'katerinaSo',
540 | id: 37941283,
541 | node_id: 'MDQ6VXNlcjM3OTQxMjgz',
542 | avatar_url: 'https://avatars3.githubusercontent.com/u/37941283?v=4',
543 | gravatar_id: '',
544 | url: 'https://api.github.com/users/katerinaSo',
545 | html_url: 'https://github.com/katerinaSo',
546 | followers_url: 'https://api.github.com/users/katerinaSo/followers',
547 | following_url:
548 | 'https://api.github.com/users/katerinaSo/following{/other_user}',
549 | gists_url: 'https://api.github.com/users/katerinaSo/gists{/gist_id}',
550 | starred_url:
551 | 'https://api.github.com/users/katerinaSo/starred{/owner}{/repo}',
552 | subscriptions_url: 'https://api.github.com/users/katerinaSo/subscriptions',
553 | organizations_url: 'https://api.github.com/users/katerinaSo/orgs',
554 | repos_url: 'https://api.github.com/users/katerinaSo/repos',
555 | events_url: 'https://api.github.com/users/katerinaSo/events{/privacy}',
556 | received_events_url:
557 | 'https://api.github.com/users/katerinaSo/received_events',
558 | type: 'User',
559 | site_admin: false,
560 | },
561 | {
562 | login: 'JaroslawLis',
563 | id: 37364317,
564 | node_id: 'MDQ6VXNlcjM3MzY0MzE3',
565 | avatar_url: 'https://avatars0.githubusercontent.com/u/37364317?v=4',
566 | gravatar_id: '',
567 | url: 'https://api.github.com/users/JaroslawLis',
568 | html_url: 'https://github.com/JaroslawLis',
569 | followers_url: 'https://api.github.com/users/JaroslawLis/followers',
570 | following_url:
571 | 'https://api.github.com/users/JaroslawLis/following{/other_user}',
572 | gists_url: 'https://api.github.com/users/JaroslawLis/gists{/gist_id}',
573 | starred_url:
574 | 'https://api.github.com/users/JaroslawLis/starred{/owner}{/repo}',
575 | subscriptions_url: 'https://api.github.com/users/JaroslawLis/subscriptions',
576 | organizations_url: 'https://api.github.com/users/JaroslawLis/orgs',
577 | repos_url: 'https://api.github.com/users/JaroslawLis/repos',
578 | events_url: 'https://api.github.com/users/JaroslawLis/events{/privacy}',
579 | received_events_url:
580 | 'https://api.github.com/users/JaroslawLis/received_events',
581 | type: 'User',
582 | site_admin: false,
583 | },
584 | {
585 | login: 'JustinAnthonyB',
586 | id: 20384195,
587 | node_id: 'MDQ6VXNlcjIwMzg0MTk1',
588 | avatar_url: 'https://avatars2.githubusercontent.com/u/20384195?v=4',
589 | gravatar_id: '',
590 | url: 'https://api.github.com/users/JustinAnthonyB',
591 | html_url: 'https://github.com/JustinAnthonyB',
592 | followers_url: 'https://api.github.com/users/JustinAnthonyB/followers',
593 | following_url:
594 | 'https://api.github.com/users/JustinAnthonyB/following{/other_user}',
595 | gists_url: 'https://api.github.com/users/JustinAnthonyB/gists{/gist_id}',
596 | starred_url:
597 | 'https://api.github.com/users/JustinAnthonyB/starred{/owner}{/repo}',
598 | subscriptions_url:
599 | 'https://api.github.com/users/JustinAnthonyB/subscriptions',
600 | organizations_url: 'https://api.github.com/users/JustinAnthonyB/orgs',
601 | repos_url: 'https://api.github.com/users/JustinAnthonyB/repos',
602 | events_url: 'https://api.github.com/users/JustinAnthonyB/events{/privacy}',
603 | received_events_url:
604 | 'https://api.github.com/users/JustinAnthonyB/received_events',
605 | type: 'User',
606 | site_admin: false,
607 | },
608 | {
609 | login: 'dundja',
610 | id: 42780673,
611 | node_id: 'MDQ6VXNlcjQyNzgwNjcz',
612 | avatar_url: 'https://avatars1.githubusercontent.com/u/42780673?v=4',
613 | gravatar_id: '',
614 | url: 'https://api.github.com/users/dundja',
615 | html_url: 'https://github.com/dundja',
616 | followers_url: 'https://api.github.com/users/dundja/followers',
617 | following_url: 'https://api.github.com/users/dundja/following{/other_user}',
618 | gists_url: 'https://api.github.com/users/dundja/gists{/gist_id}',
619 | starred_url: 'https://api.github.com/users/dundja/starred{/owner}{/repo}',
620 | subscriptions_url: 'https://api.github.com/users/dundja/subscriptions',
621 | organizations_url: 'https://api.github.com/users/dundja/orgs',
622 | repos_url: 'https://api.github.com/users/dundja/repos',
623 | events_url: 'https://api.github.com/users/dundja/events{/privacy}',
624 | received_events_url: 'https://api.github.com/users/dundja/received_events',
625 | type: 'User',
626 | site_admin: false,
627 | },
628 | {
629 | login: 'wisemanchris92',
630 | id: 32992448,
631 | node_id: 'MDQ6VXNlcjMyOTkyNDQ4',
632 | avatar_url: 'https://avatars1.githubusercontent.com/u/32992448?v=4',
633 | gravatar_id: '',
634 | url: 'https://api.github.com/users/wisemanchris92',
635 | html_url: 'https://github.com/wisemanchris92',
636 | followers_url: 'https://api.github.com/users/wisemanchris92/followers',
637 | following_url:
638 | 'https://api.github.com/users/wisemanchris92/following{/other_user}',
639 | gists_url: 'https://api.github.com/users/wisemanchris92/gists{/gist_id}',
640 | starred_url:
641 | 'https://api.github.com/users/wisemanchris92/starred{/owner}{/repo}',
642 | subscriptions_url:
643 | 'https://api.github.com/users/wisemanchris92/subscriptions',
644 | organizations_url: 'https://api.github.com/users/wisemanchris92/orgs',
645 | repos_url: 'https://api.github.com/users/wisemanchris92/repos',
646 | events_url: 'https://api.github.com/users/wisemanchris92/events{/privacy}',
647 | received_events_url:
648 | 'https://api.github.com/users/wisemanchris92/received_events',
649 | type: 'User',
650 | site_admin: false,
651 | },
652 | {
653 | login: '919971603657',
654 | id: 19673568,
655 | node_id: 'MDQ6VXNlcjE5NjczNTY4',
656 | avatar_url: 'https://avatars0.githubusercontent.com/u/19673568?v=4',
657 | gravatar_id: '',
658 | url: 'https://api.github.com/users/919971603657',
659 | html_url: 'https://github.com/919971603657',
660 | followers_url: 'https://api.github.com/users/919971603657/followers',
661 | following_url:
662 | 'https://api.github.com/users/919971603657/following{/other_user}',
663 | gists_url: 'https://api.github.com/users/919971603657/gists{/gist_id}',
664 | starred_url:
665 | 'https://api.github.com/users/919971603657/starred{/owner}{/repo}',
666 | subscriptions_url:
667 | 'https://api.github.com/users/919971603657/subscriptions',
668 | organizations_url: 'https://api.github.com/users/919971603657/orgs',
669 | repos_url: 'https://api.github.com/users/919971603657/repos',
670 | events_url: 'https://api.github.com/users/919971603657/events{/privacy}',
671 | received_events_url:
672 | 'https://api.github.com/users/919971603657/received_events',
673 | type: 'User',
674 | site_admin: false,
675 | },
676 | ];
677 |
--------------------------------------------------------------------------------