/starhackit

StarHackIt: React/Redux + Node full-stack starter kit with authentication and authorization, data backed by SQL.

Primary LanguageJavaScriptThe UnlicenseUnlicense

StarHackIt is a ES6/ES7 React/Node starter kit

Join the chat at https://gitter.im/FredericHeem/starhackit

Fullstack web application starter kit written in es6/es7 with react and node.js with the following features:

  • Authentication: username/password, facebook, google authentication etc ...
  • Authorization: scheme using user, group and permission
  • Scalable by using a micro services based architecture, a.k.a message queues
  • Relational database: postgres, mysql, sqlite, mssql etc, ...
  • Logging

Frontend Technologies

  • React: a facebook library to build user interfaces.
  • Redux: predictable state container for JavaScript apps.
  • Webpack: module bundler for the browser
  • Stylus: expressive, dynamic, robust CSS
  • i18next: internationalization

For more information about the frontend, see its README

Backend Technologies

  • Koa: next generation web framework for Node.js.
  • Sequelize: Object Relationship Management (ORM) supporting majors relational SQL database.
  • PostgreSQL: the world's most advanced open source relational database.
  • RabbitMq: messaging system.
  • Passport: authentication framework with more than 140 authentication strategies: username/password, facebook , google, github etc ...
  • Winston: a multi-transport async logging library.
  • Nodemailer: send email with various provider.

For more information about the backend, see its README

Dev Technologies

  • Babel: A es6/es7 compiler.
  • Mocha: test framework.
  • Karma: a productive testing environment to developers
  • Nightwatch: End-to-End tests in Node.js quickly and effortlessly that run against a Selenium server
  • Sinon: test spies, stubs and mocks.
  • Eslint: The pluggable linting utility for JavaScript and JSX.
  • Travis: Test and deploy. Build Status
  • CodeClimate: Automated code review Code Climate Test Coverage
  • Coveralls: Coverage Status
  • DevLab: Containerize your development workflow.
  • Trevor: Your own Travis CI to run tests locally.

The frontend and the backend are two separate projects with their own set of dependencies. One can use the frontend with another existing backend, or use the backend with another frontend stack.

Workflow

Clone the source code

To get the latest code, grab it by cloning the repository from GitHub:

$ git clone https://github.com/FredericHeem/starhackit.git yourproject
$ cd yourproject

Yeoman generator

Another way to bootstrap your application is to use the Starhackit Yeoman generator.

First install yo and generator-starhackit globally:

npm install -g yo generator-starhackit

Finally, initiate the generator and answer the questions about your project:

mkdir yourproject && cd $_
yo starhackit

Deployment

See Ansible README.md

License

See LICENSE

Author

Crafted with passion by Frederic Heem