GithubHelp home page GithubHelp logo

tym-b / study-group-6-redux Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wojciech-panek/study-group-6-redux

0.0 1.0 0.0 3.82 MB

License: MIT License

JavaScript 69.31% HTML 1.06% CSS 29.63%

study-group-6-redux's Introduction

React Boilerplate

Apptension's react boilerplate built on top of react-boilerplate:

Quick start

  1. Clone this repo using:
$ git clone --depth=1 https://github.com/apptension/react-boilerplate.git
  1. To install dependencies and clean the git repo run:
$ npm run setup

We auto-detect yarn for installing packages by default, if you wish to force npm usage do:

$ USE_YARN=false npm run setup

Features

Redux
Unidirectional data flow allows for change logging and time travel debugging.
ES6 / Babel
Use template strings, object destructuring, arrow functions, JSX syntax and more, today.
SASS
Write composable CSS that's co-located with your components for complete modularity.
React Router
It's natural to want to add pages (e.g. `/about`) to your application, and routing makes this possible.
Hot Module Replacement
Enjoy the best developer experience and code your app at the speed of thought! Your saved changes to the CSS and JSare reflected instantaneously without refreshing the page. Preserve application state even when you update something in the underlying code!
React Intl
Scalable apps need to support multiple languages, easily add and support multiple languages with `react-intl`.
Offline-first
The next frontier in performant web apps: availability without a network connection from the instant your users load the app.
SEO
We support SEO (document head tags management) for search engines that support indexing of JavaScript content. (eg. Google)

Tech Stack

Here's a curated list of packages that you should have knowledge of, before starting your awesome project. However, the best way to have a complete list of dependencies is to see package.json.

Core

Development

Styling

Testing

Linting

Project Structure

app/

You will write your app in the this folder. This is the folder you will spend most, if not all, of your time in.

app/routes

This folder contains subfolders - one for each route of your application with components, containers, styles and tests inside. We recommend using flat structure which means that you should put each route as a child of this directory regardless of view relationship.

app/modules

This folder contains reducers, actions, constants, sagas and selectors grouped in modules which means thath you should keep your business loigc here

app/environment

This folder contains environment configs. Webpack uses proper config depending on application environment. Config can be used by importing env-config

app/fixtures

This boilerplate comes with preconfigured fixtures integration which means that you can put any .json files in this folder and easily fetch it as fixtures using sagas. Those files are available by calling /fixtures/*.json url.

app/styles

In this folder you should put any global styles that cannot be placed in routes.

app/translations

This is the place to keep .json files with translation messages. You should not move this directory in order for messages generation feature to work.

app/images

This folder contain any images used in your application. /sprites directory is used by spritesimth plugin.

internals/

You can call this area the "engine" of your app. Your source code cannot be executed as-is in the web browser. It needs to pass through webpack to get converted into a form that web browsers understand. While it's certainly helpful to understand what is happening here, for real world usage you won't have to mess around with this folder much.

  • internals/webpack: webpack configuration
  • internals/scripts: scripts used in package.json
  • internals/testing/test.index.spec.js: entry point for unit tests. You should put any global mocks and add unit test configuration here

server/

As the name suggests, this folder contains development and production server configuration.

Command Line Commands

Initialization

npm run setup

Initializes a new project with this boilerplate. Deletes the react-boilerplate git history, installs the dependencies and initializes a new repository.

Note: This command is self-destructive, once you've run it the init script is gone forever. This is for your own safety, so you can't delete your project's history irreversibly by accident.

Development

npm start

Starts the development server running on http://localhost:3000

npm start:tunnel

Starts the development server and makes your application accessible at localhost:3000. Tunnels that server with ngrok, which means the website accessible anywhere! Changes in the application code will be hot-reloaded.

Building

npm run build

Preps your app for deployment (does not run tests). Optimizes and minifies all files, piping them to the build folder.

Upload the contents of build to your web server to see your work live!

Testing

npm run test

Tests your application with the unit tests specified in the **/__tests__/*.spec.js files throughout the application.

npm run test:watch

Watches changes to your application and re-runs tests whenever a file changes.

npm run test:coverage

Generates test coverage.

npm run analyze

This command will generate a stats.json file from your production build, which you can upload to the webpack analyzer. This analyzer will visualize your dependencies and chunks with detailed statistics about the bundle size.

Linting

npm run lint

Lints your JavaScript.

Messages

npm run extract-intl

Automatically generates .json files with messages gathered from application.

License

This project is licensed under the MIT license, Copyright (c) 2017 Apptension. For more information see LICENSE.md.

study-group-6-redux's People

Contributors

mkubiakapptension avatar tym-b avatar wojciech-panek avatar mkmieciak avatar m1chalkubiak avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.