StarHackIt is a ES6/ES7 React/Node starter kit
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
Technologies:
- React: a facebook library to build user interfaces.
- Express: fast, unopinionated, minimalist web framework for Node.js.
- Socket.io: real-time bidirectional event-based communication.
- 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.
- Babel: A es6/es7 compiler.
- Bower: a package manager for the web.
- Gulp: automate and enhance your workflow.
- Webpack: module bundler for the browser
- Mocha: test framework.
- Sinon: test spies, stubs and mocks.
- Eslint: The pluggable linting utility for JavaScript and JSX.
- Travis: Test and deploy.
- CodeClimate: Automated code review
- Coveralls:
Workflow
To install all the dependencies:
# npm install
Backend
To start the backend:
# cd server
# npm start
To test the backend:
# npm test
It will not only test the code, but also checks the source code with eslint and generates a code coverage report located at coverage/lcov-report/index.html
For more information about the backend, see its README
Frontend
To run the frontend webserver:
# npm start
Now open a browser at http://localhost:8080
License
See LICENSE
Author
Crafted with passion by Frederic Heem