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
- 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
- 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
- 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.
- CodeClimate: Automated code review
- Coveralls:
- 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.
To get the latest code, grab it by cloning the repository from GitHub:
$ git clone https://github.com/FredericHeem/starhackit.git yourproject
$ cd yourproject
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
See LICENSE
Crafted with passion by Frederic Heem