Coder Social home page Coder Social logo

szwork2013 / starhackit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fredericheem/starhackit

0.0 3.0 0.0 960 KB

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

Home Page: http://starhack.it/

License: The Unlicense

JavaScript 84.05% CSS 5.33% HTML 9.74% Ruby 0.77% Shell 0.06% Groff 0.05%

starhackit's Introduction

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

Technologies:

  • React: a facebook library to build user interfaces.
  • 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.
  • Babel: A es6/es7 compiler.
  • 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. 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.

Workflow

Yeoman generator

The easiest 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

Docker containers

To install the docker containers for the various services such as RabbitMq and Postgres on the local machine, the DevLab project is being used to containerize the development workflow, see its configuration file: devlab.yml

# cd server
# npm run devlabinstall

To check that the containers are running:

# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                         NAMES
ccd9f559fabd        rabbitmq:latest     "/docker-entrypoint.s"   36 minutes ago      Up 36 minutes       4369/tcp, 25672/tcp, 0.0.0.0:5672->5672/tcp   devlab_rabbitmq_frederic_1446641005596

Backend

Before running the backend, check and modify the configuration located at server/config/default.json. Don't forget to correctly set the rabbitmq server location.

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

For more information about the frontend, see its README

Deployment

See Ansible README.md

License

See LICENSE

Author

Crafted with passion by Frederic Heem

starhackit's People

Contributors

andrewgoetz avatar fredericheem avatar gitter-badger avatar maxdow avatar mquandalle avatar

Watchers

 avatar  avatar  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.