blackxored / elasticdev-starter-kit

A toolkit for building universal, serverless, functional, reactive applications

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ElasticDev Starter Kit

Elastic, Serverless, Universal... oh my! πŸ’«

ESK is a toolkit for universal, serverless, schema-first, immutable, reactive, functional and progressive applications using React & GraphQL as a platform at its core.

Semantically Released Build Status Code Coverage version downloads Styled with Prettier AirBnB style guide

MIT License All Contributors PRs Welcome Commitizen friendly Code of Conduct Platforms

Watch on GitHub Star on GitHub Tweet

Table of Contents

Motivation

A starter kit for quickly developing universal applications powered by React, GraphQL, functional, serverless, and reactive concepts. Includes web, mobile and desktop platforms, with more to come.

ESK reduces boilerplate to the absolute minimum, and thrives to make application development simpler by encapsulating common constructs, patterns, models and relationships common to most apps.

This "incidental" architecture that we build just in order to get our business feature development going is minimized, letting you focus on the core values of your application. Project setup and configuration, authentication, payments, search, social features, among others, are handled for you and ready to be extended to accommodate your application requirements.

Features

Core Backend UI Platform UI Details Docs
πŸ‘€ Auth & Profile ⏳ ⏳ ⏳ ⏳ Password, phone/SMS, OAuth2 πŸ“–
πŸ” Search ⏳ ⏳ ⏳ ⏳ ... πŸ“–
πŸ’¬ Chat & Online Presence ⏳ ⏳ ⏳ ⏳ ... πŸ“–
πŸ‘― Social ⏳ ⏳ ⏳ ⏳ ... πŸ“–
βš“ Navigation ⏳ ⏳ ⏳ ⏳ ... πŸ“–
πŸ’° Payments ⏳ ⏳ ⏳ ⏳ ... πŸ“–
⚑ Realtime ⏳ ⏳ ⏳ ⏳ ... πŸ“–
πŸ’₯ Crash Free ⏳ ⏳ ⏳ ⏳ ... πŸ“–
πŸ”Œ Offline ⏳ ⏳ ⏳ ⏳ ... πŸ“–
🎨 Beautiful design - - - ⏳ ... πŸ“–
πŸ’„ Universal Styles - - ⏳ ⏳ ... πŸ“–
🌎 Internationalization - - - ⏳ ... πŸ“–
πŸ“ˆ Analytics - - ⏳ ⏳ ... πŸ“–

Built With

TODO: List other main libraries, frameworks used including versions.

Why you shouldn't use this

It's not common for projects to include an anti-pitch, but in the interest of transparency, we thought it would help you evaluate whether to use (or contribute to) this project. You're always welcome to help, and we will be removing these points accordingly if we feel we've made significant process and there are no longer relevant, we might be adding some too.

  • πŸ”₯ This project is really unstable and on the earliest phases you can think of.
  • πŸ’₯ This project is very ambitious, we might not complete everything there's to it Β―_(ツ)_/Β―.
  • πŸ’¦ This project is very opinionated, a plugin architecture is in our roadmap, but for now the technology and pattern choices made will probably have to resonate with you in order to be used effectively.
  • πŸ‘€ Tooling across the ecosystem is not there yet, so we have patches all over the place.
  • πŸ‘Ž If serverless isn't for you or your organization.
  • πŸ™‰ If you're not building universal apps.
  • 😾 If you're looking for something simple. We'll simplify our API and usage when we're closing in on 1.0.

Docs

Configuration

TODO

Deploying

TODO: give more detailed instructions on how to build and release a new version In case there's some step you have to take that publishes this project to a server, this is the right time to state it.

Examples

  • TodoMVC

API Reference

TODO: Link to deployed GraphQL playground, Documentation.js generated docs, etc.

Developing

Prerequisites

Setting up Dev

Here's a brief intro about what a developer must do in order to start developing the project further:

git clone https://github.com/blackxored/elasticdev-starter-kit.git
cd elasticdev-starter-kit/
yarn

Create an environment file

TODO

Start development

yarn dev

Versioning

We use SemVer for versioning. In addition, it's automatic via semantic-release, and our commit convention.

For the versions available, see the Releases on this repository.

Tests

yarn test

Style guide

We use most of AirBnB's style guide and we check with ESLint and automatically format our code with Prettier

Licensing

This project is licensed under the MIT License - see the license file for details.

Contributing

If you're interested in contributing to this project in any form, please read our Contribution Guidelines.

Code of Conduct

We've adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.

Contributors

Thanks goes to these wonderful people (emoji key):


Adrian Perez

πŸ’» πŸ“– πŸš‡ 🎨 πŸ‘€ πŸ€”

This project follows the all-contributors specification. Contributions of any kind welcome!

About

A toolkit for building universal, serverless, functional, reactive applications

License:MIT License


Languages

Language:JavaScript 100.0%