├── src ├── app │ ├── components │ │ ├── ProjectDetailsCard │ │ │ ├── style.css │ │ │ ├── style.js │ │ │ └── index.js │ │ ├── ChartLang │ │ │ ├── index.js │ │ │ └── style.js │ │ ├── index.js │ │ ├── SearchBoxx │ │ │ ├── style.js │ │ │ └── index.js │ │ ├── Footer │ │ │ ├── index.js │ │ │ └── style.js │ │ ├── IssueList │ │ │ └── index.js │ │ ├── Progressbar │ │ │ ├── style.js │ │ │ └── index.js │ │ ├── Button │ │ │ └── index.js │ │ ├── ProjectCard │ │ │ ├── style.js │ │ │ └── index.js │ │ └── Navbar │ │ │ ├── style.js │ │ │ └── index.js │ ├── assets │ │ ├── logo.png │ │ ├── index.js │ │ ├── icons │ │ │ ├── star.svg │ │ │ ├── view.svg │ │ │ └── fork.svg │ │ ├── issues.svg │ │ ├── langing.svg │ │ ├── computer.svg │ │ ├── example.svg │ │ └── details.svg │ ├── redux │ │ ├── reducers │ │ │ ├── index.js │ │ │ └── projectReducer.js │ │ ├── index.js │ │ ├── actions │ │ │ └── index.js │ │ └── store │ │ │ └── index.js │ ├── pages │ │ ├── index.js │ │ ├── ProjectDetail.js │ │ ├── Login.js │ │ ├── Projects.js │ │ ├── style.js │ │ ├── NotFoundPage.js │ │ ├── Contact.js │ │ ├── style.css │ │ ├── Start.js │ │ └── LandingPage.js │ └── Router.js ├── reset.css ├── reportWebVitals.js └── index.js ├── public ├── logo.png ├── favicon.ico ├── robots.txt ├── opensource.png ├── manifest.json └── index.html ├── .env.sample ├── .prettierrc ├── .editorconfig ├── .gitignore ├── .eslintrc.json ├── LICENSE ├── README.md └── package.json /src/app/components/ProjectDetailsCard/style.css: -------------------------------------------------------------------------------- 1 | .foo { 2 | max-width:100%; 3 | } 4 | -------------------------------------------------------------------------------- /public/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensource-place/frontend/HEAD/public/logo.png -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensource-place/frontend/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /public/opensource.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensource-place/frontend/HEAD/public/opensource.png -------------------------------------------------------------------------------- /src/app/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensource-place/frontend/HEAD/src/app/assets/logo.png -------------------------------------------------------------------------------- /.env.sample: -------------------------------------------------------------------------------- 1 | REACT_APP_API_URL = 2 | REACT_APP_GH_CLIENT_ID = 3 | REACT_APP_ALGOLIA_KEY_ONE = 4 | REACT_APP_ALGOLIA_KEY_TWO = 5 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 100, 3 | "trailingComma": "none", 4 | "tabWidth": 2, 5 | "semi": false, 6 | "singleQuote": true, 7 | "space-before-function-paren", 8 | } 9 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | indent_size = 2 7 | indent_style = space 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /src/app/redux/reducers/index.js: -------------------------------------------------------------------------------- 1 | import { combineReducers } from 'redux' 2 | import projectReducer from './projectReducer' 3 | 4 | export default combineReducers({ 5 | projects: projectReducer 6 | }) 7 | -------------------------------------------------------------------------------- /src/app/redux/index.js: -------------------------------------------------------------------------------- 1 | import { combineReducers } from 'redux' 2 | import projectsReducers from './reducers/projectsReducers' 3 | 4 | export default combineReducers({ 5 | projects: projectsReducers 6 | }) 7 | -------------------------------------------------------------------------------- /src/app/redux/actions/index.js: -------------------------------------------------------------------------------- 1 | const CONSTANTS = { 2 | FETHING_PROJECTS: 'FETHING_PROJECTS', 3 | FETCHED_PROJECTS: 'FETCHED_PROJECTS', 4 | FILTER: 'FILTER', 5 | ERROR: 'ERROR' 6 | } 7 | export default CONSTANTS 8 | -------------------------------------------------------------------------------- /src/app/components/ChartLang/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Container } from './style' 3 | 4 | const ChartLang = ({ repository }) => { 5 | return 6 | } 7 | 8 | export default ChartLang 9 | -------------------------------------------------------------------------------- /src/reset.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&display=swap'); 2 | 3 | html, 4 | body, 5 | #app { 6 | min-width: 100%; 7 | min-height: 100vh; 8 | outline: none; 9 | font-family: 'Lato', sans-serif; 10 | } 11 | 12 | a { 13 | text-decoration: none; 14 | } 15 | -------------------------------------------------------------------------------- /src/app/components/ChartLang/style.js: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components' 2 | 3 | const Container = styled.div` 4 | @media screen and (min-width: 1024px) { 5 | } 6 | 7 | @media screen and (min-width: 768px) { 8 | } 9 | 10 | @media screen and (min-width: 320px) { 11 | } 12 | ` 13 | 14 | export { Container } 15 | -------------------------------------------------------------------------------- /src/app/pages/index.js: -------------------------------------------------------------------------------- 1 | export { default as LandingPage } from './LandingPage' 2 | export { default as Login } from './Login' 3 | export { default as Projects } from './Projects' 4 | export { default as Start } from './Start' 5 | export { default as ProjectDetail } from './ProjectDetail' 6 | export { default as Contact } from './Contact' 7 | export { default as NotFoundPage } from './NotFoundPage' 8 | -------------------------------------------------------------------------------- /src/app/redux/store/index.js: -------------------------------------------------------------------------------- 1 | import { createStore, applyMiddleware } from 'redux' 2 | import thunkMiddleware from 'redux-thunk' 3 | import rootReducer from '../reducers' 4 | import { createLogger } from 'redux-logger' 5 | 6 | const loggerMiddleware = createLogger() 7 | 8 | const store = createStore(rootReducer, applyMiddleware(thunkMiddleware, loggerMiddleware)) 9 | export default store 10 | -------------------------------------------------------------------------------- /src/reportWebVitals.js: -------------------------------------------------------------------------------- 1 | const reportWebVitals = onPerfEntry => { 2 | if (onPerfEntry && onPerfEntry instanceof Function) { 3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { 4 | getCLS(onPerfEntry) 5 | getFID(onPerfEntry) 6 | getFCP(onPerfEntry) 7 | getLCP(onPerfEntry) 8 | getTTFB(onPerfEntry) 9 | }) 10 | } 11 | } 12 | 13 | export default reportWebVitals 14 | -------------------------------------------------------------------------------- /src/app/pages/ProjectDetail.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Footer, NavBar, ProjectDetailsCard } from '../components' 3 | import { MainContainer, Containerx } from './style' 4 | 5 | const ProjectDetail = () => { 6 | return ( 7 | <> 8 | 9 | 10 | 11 | 12 | 13 | 14 |