Giter Site home page Giter Site logo

jeemyeong / react-semantic.ui-starter Goto Github PK

View Code? Open in Web Editor NEW

This project forked from metnew/suicrux

0.0 1.0 0.0 18.18 MB

Fullstack isomorphic (and universal soon) boilerplate with server-side rendering and lazy-loading. PWA ready. [READY, UPDATE SOON]

License: MIT License

JavaScript 98.76% HTML 1.24%

react-semantic.ui-starter's Introduction

React-Semantic.UI-Starter

Greenkeeper badge

Demo: reatty.now.sh Temporarily unavailable:(

Sponsor

Build Status Join the chat at https://gitter.im/react-semantic-ui-starter/Lobby bitHound Code bitHound Overall Score

What is this?

Fullstack isomorphic boilerplate with server-side rendering and lazy-loading for your new Progressive Web App.

Quick intro

Why this starter uses react-semantic-ui?

TL;DR: You're always free to use your own UI framework. The starter is "UI-framework-agnostic".
UI framework comparison here.

What's inside?

bitHound Dependencies bitHound Dev Dependencies

Frontend:

Build (Webpack):

Server:

Other:

Usage

Install:

# clone repo without full git history
git clone --depth=1 https://github.com/Metnew/react-semantic.ui-starter.git
cd react-semantic.ui-starter
# You can remove .git folder if you don't want to pull new features or need your own repo
# to remove folder run: rm -rf .git
# install dependencies
npm install

Development:

npm run dev # run both frontend and server in dev mode(using `concurrently`)

npm run frontend_dev # run frontend in dev mode.

npm run server_dev  # run server in dev mode

Build:

npm run build # build both frontend and server

npm run frontend_build # build frontend

npm run server_build # build server

Run:

# npm run build - at first build app.
npm run start # run app. You need already built app for this!
# then visit localhost:4000 in your browser, if you didn't specify PORT env var

Deploy:

If you use now on OSS(free) plan - you will run out of memory on npm run build. I recommend you to disable some non-critical plugins (ModuleConcatenationPlugin, SriPlugin, FaviconsWebpackPlugin). Demo that was deployed to "now"

Test:

npm run test # run tests with Jest, BASE_API env var is required!

Lint:

eslint-loader is already included in webpack, but if you want to lint code without webpack:

npm run lint:styles  # lint styles with Stylelint
npm run lint:scripts # lint scripts with ESlint

Docs:

Powered by ESDoc.

npm run docs # generate docs and `serve`

ENV vars:

ENV vars are very important for configuration.

Client ENV vars:

GA_ID: Your Google analytics ID.
BASE_API: /api/v1 by default. App uses this path for requests with relative urls
SENTRY_PUBLIC_DSN: Your Sentry public DSN.
APP_LANGUAGE: en by default. Build app with this language. Check /i18n folder and i18n-webpack-plugin.
ANALYZE_BUNDLE: Run webpack-bundle-analyzer after build.

Server ENV vars:

PORT: Port on which your app run.
JWT_SECRET: JWT_SECRET ๐Ÿ˜„
BASE_API: App uses this path for requests with relative urls.
SENTRY_PUBLIC_DSN: Your Sentry public DSN.
SENTRY_DSN: Your Sentry full(private) DSN for server-side error handling.
APP_LANGUAGE: Language of your app.
DIST_PATH: (by default: /dist/client/<APP_LANGUAGE>). Path where server search for the index.html of your built app.

How it works?

Most commonly asked questions are here.

Some guides are already finished, some aren't. I update branch very often, so improved docs and explanations will be very soon.

Webpack configuration (not finished)
What's the magic behind npm run dev?
How i18n works?
Testing.
Why this starter uses react-semantic-ui?
How does SSR work? (not finished)
Environment variables and configuration. (not finished)
Starter architecture and design. (not finished)

Nearest future:

  • SSR with HMR on client and server from one process. (next.js-like HMR)
  • Better docs
  • Semver
  • CLI app

Something very important:

Have a question? Ask! ๐Ÿ˜‰

Any help is highly appreciated because the project still has only one maintainer (ha-ha, yeah it's me ๐Ÿ˜ˆ). PRs and issues are always welcome.

Author

Vladimir Metnew [email protected]

LICENSE

MIT

react-semantic.ui-starter's People

Contributors

billymcintosh avatar ekoeryanto avatar engleek avatar gitter-badger avatar greenkeeper[bot] avatar jdickey avatar metnew avatar squarism avatar vasilich6107 avatar

Watchers

 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.