├── app ├── components │ ├── templates │ │ └── index.js │ ├── atoms │ │ ├── Tag │ │ │ ├── index.js │ │ │ └── Tag.js │ │ ├── Button │ │ │ ├── index.js │ │ │ └── Button.js │ │ ├── Input │ │ │ ├── index.js │ │ │ └── Input.js │ │ ├── Heading │ │ │ ├── index.js │ │ │ └── Heading.js │ │ └── index.js │ ├── pages │ │ ├── Root │ │ │ ├── index.js │ │ │ └── Root.js │ │ ├── About │ │ │ ├── index.js │ │ │ └── About.js │ │ ├── Github │ │ │ ├── index.js │ │ │ └── Github.js │ │ ├── NotFound │ │ │ ├── index.js │ │ │ └── NotFound.js │ │ └── index.js │ ├── molecules │ │ ├── Row │ │ │ ├── index.js │ │ │ └── Row.js │ │ ├── Column │ │ │ ├── index.js │ │ │ └── Column.js │ │ ├── Layout │ │ │ ├── index.js │ │ │ └── Layout.js │ │ ├── GithubRepo │ │ │ ├── index.js │ │ │ └── GithubRepo.js │ │ └── index.js │ ├── organisms │ │ ├── Footer │ │ │ ├── index.js │ │ │ └── Footer.js │ │ ├── Header │ │ │ ├── index.js │ │ │ └── Header.js │ │ ├── Container │ │ │ ├── index.js │ │ │ └── Container.js │ │ └── index.js │ └── Application.js ├── store │ ├── home │ │ ├── index.js │ │ └── home.js │ ├── github │ │ ├── index.js │ │ └── github.js │ ├── reducers.js │ └── utils.js ├── styles │ ├── index.js │ ├── base.js │ ├── palette.js │ ├── mixins.js │ └── normalize.js ├── routes │ └── index.js ├── data │ └── github.js └── utils │ └── index.js ├── process.js ├── webpack ├── base.config.js ├── loaders.js ├── prod.config.js └── dev.config.js ├── .babelrc ├── bin └── start.js ├── ecosystem.config.js ├── src ├── createStore.js ├── client.js └── server │ ├── index.js │ └── render.js ├── README.md ├── .eslintrc ├── .gitignore ├── package.json └── npm-shrinkwrap.json /app/components/templates/index.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/store/home/index.js: -------------------------------------------------------------------------------- 1 | 2 | export home from './home' 3 | -------------------------------------------------------------------------------- /app/store/github/index.js: -------------------------------------------------------------------------------- 1 | export github from './github' 2 | -------------------------------------------------------------------------------- /app/components/atoms/Tag/index.js: -------------------------------------------------------------------------------- 1 | export default from './Tag' 2 | -------------------------------------------------------------------------------- /app/components/pages/Root/index.js: -------------------------------------------------------------------------------- 1 | export default from './Root' 2 | -------------------------------------------------------------------------------- /app/components/atoms/Button/index.js: -------------------------------------------------------------------------------- 1 | export default from './Button' 2 | -------------------------------------------------------------------------------- /app/components/atoms/Input/index.js: -------------------------------------------------------------------------------- 1 | export default from './Input' 2 | -------------------------------------------------------------------------------- /app/components/molecules/Row/index.js: -------------------------------------------------------------------------------- 1 | export default from './Row' 2 | -------------------------------------------------------------------------------- /app/components/pages/About/index.js: -------------------------------------------------------------------------------- 1 | export default from './About' 2 | -------------------------------------------------------------------------------- /app/components/pages/Github/index.js: -------------------------------------------------------------------------------- 1 | export default from './Github' 2 | -------------------------------------------------------------------------------- /app/components/atoms/Heading/index.js: -------------------------------------------------------------------------------- 1 | export { H1, H2 } from './Heading' 2 | -------------------------------------------------------------------------------- /app/components/molecules/Column/index.js: -------------------------------------------------------------------------------- 1 | export default from './Column' 2 | -------------------------------------------------------------------------------- /app/components/molecules/Layout/index.js: -------------------------------------------------------------------------------- 1 | export default from './Layout' 2 | -------------------------------------------------------------------------------- /app/components/organisms/Footer/index.js: -------------------------------------------------------------------------------- 1 | export default from './Footer' 2 | -------------------------------------------------------------------------------- /app/components/organisms/Header/index.js: -------------------------------------------------------------------------------- 1 | export default from './Header' 2 | -------------------------------------------------------------------------------- /app/components/pages/NotFound/index.js: -------------------------------------------------------------------------------- 1 | export default from './NotFound' 2 | -------------------------------------------------------------------------------- /app/components/molecules/GithubRepo/index.js: -------------------------------------------------------------------------------- 1 | export default from './GithubRepo' 2 | -------------------------------------------------------------------------------- /app/components/organisms/Container/index.js: -------------------------------------------------------------------------------- 1 | export default from './Container' 2 | -------------------------------------------------------------------------------- /app/components/organisms/index.js: -------------------------------------------------------------------------------- 1 | export Footer from './Footer' 2 | export Header from './Header' 3 | export Container from './Container' 4 | -------------------------------------------------------------------------------- /app/components/atoms/index.js: -------------------------------------------------------------------------------- 1 | export Button from './Button' 2 | export Input from './Input' 3 | export { H1, H2 } from './Heading' 4 | export Tag from './Tag' 5 | -------------------------------------------------------------------------------- /app/components/pages/index.js: -------------------------------------------------------------------------------- 1 | export NotFound from './NotFound' 2 | export About from './About' 3 | export Github from './Github' 4 | export Root from './Root' 5 | -------------------------------------------------------------------------------- /app/components/molecules/index.js: -------------------------------------------------------------------------------- 1 | export Layout from './Layout' 2 | export Row from './Row' 3 | export Column from './Column' 4 | 5 | export GithubRepo from './GithubRepo' 6 | -------------------------------------------------------------------------------- /app/store/reducers.js: -------------------------------------------------------------------------------- 1 | import { combineReducers } from 'redux' 2 | import * as github from './github' 3 | 4 | export default combineReducers({ 5 | default: () => ({}), 6 | ...github, 7 | }) 8 | -------------------------------------------------------------------------------- /process.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | apps: [ 3 | { 4 | name: 'rurarar', 5 | script: './bin/start.js', 6 | env: { 7 | NODE_ENV: 'production', 8 | }, 9 | }, 10 | ], 11 | } 12 | -------------------------------------------------------------------------------- /webpack/base.config.js: -------------------------------------------------------------------------------- 1 | const { join, resolve } = require('path') 2 | 3 | const root = join(__dirname, '..') 4 | 5 | module.exports = { 6 | entry: '../src/client', 7 | outputPath: '/dist', 8 | context: resolve(root, 'app'), 9 | } 10 | -------------------------------------------------------------------------------- /app/styles/index.js: -------------------------------------------------------------------------------- 1 | import { injectGlobal } from 'styled-components' 2 | 3 | import normalize from './normalize' 4 | import baseStyles from './base' 5 | 6 | 7 | export default () => injectGlobal` 8 | ${normalize} 9 | ${baseStyles} 10 | ` 11 | -------------------------------------------------------------------------------- /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | "es2015", 4 | "es2016", 5 | "es2017", 6 | "stage-0", 7 | "react" 8 | ], 9 | "plugins": [ 10 | "transform-react-inline-elements", 11 | "transform-react-constant-elements", 12 | "styled-components" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /app/components/pages/About/About.js: -------------------------------------------------------------------------------- 1 | import React, { PropTypes } from 'react' 2 | import { Link } from 'react-router' 3 | 4 | import { Row } from 'components/molecules' 5 | 6 | 7 | const About = () => ( 8 | 9 |
Simple about file
10 | Go to home 11 |
12 | ) 13 | 14 | export default About 15 | -------------------------------------------------------------------------------- /app/styles/base.js: -------------------------------------------------------------------------------- 1 | import { css } from 'styled-components' 2 | 3 | import { getColor } from './palette' 4 | 5 | 6 | export default css` 7 | body { 8 | background-color: ${getColor('Light Blue')}; 9 | margin: 0; 10 | padding: 0; 11 | } 12 | a { 13 | color: ${getColor('Light Blue', 700)}; 14 | text-decoration: 'none'; 15 | }, 16 | a:hover { 17 | color: ${getColor('Light Blue', 900)}; 18 | } 19 | ` 20 | -------------------------------------------------------------------------------- /app/components/pages/Root/Root.js: -------------------------------------------------------------------------------- 1 | import React, { PropTypes } from 'react' 2 | import { Link } from 'react-router' 3 | 4 | import { Layout, Column } from 'components/molecules' 5 | 6 | 7 | const Index = () => ( 8 | 9 | 10 |
Index file
11 | To about 12 | Github API Usage 13 |
14 |
15 | ) 16 | 17 | export default Index 18 | -------------------------------------------------------------------------------- /app/components/Application.js: -------------------------------------------------------------------------------- 1 | import React, { PropTypes } from 'react' 2 | 3 | import { Column } from 'components/molecules' 4 | import { Header, Footer, Container } from 'components/organisms' 5 | 6 | 7 | const Home = ({ children }) => ( 8 | 9 |
10 | 11 | {children} 12 | 13 |