GithubHelp home page GithubHelp logo

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

View Code? Open in Web Editor NEW

This project forked from metnew/suicrux

0.0 2.0 0.0 18.97 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

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?

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

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

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

Watchers

James Cloos avatar Alex Fong 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.