Awesome Open Source
Awesome Open Source

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!


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Javascript (1,552,287) 
Reactjs (72,479) 
Redux (13,209) 
React Native (11,792) 
Graphql (8,250) 
Nextjs (6,099) 
Electron (6,086) 
Serverless (4,774) 
Aws Lambda (3,026) 
Reactive (1,302) 
Flow (1,107) 
Apollo Client (837) 
Server Side Rendering (823) 
Universal (502) 
Redux Observable (194) 
Ramda (179) 
Related Projects
Advertising 📦 9
All Projects
Application Programming Interfaces 📦 120
Applications 📦 181
Artificial Intelligence 📦 72
Blockchain 📦 70
Build Tools 📦 111
Cloud Computing 📦 79
Code Quality 📦 28
Collaboration 📦 30
Command Line Interface 📦 48
Community 📦 81
Companies 📦 60
Compilers 📦 60
Computer Science 📦 74
Configuration Management 📦 39
Content Management 📦 167
Control Flow 📦 197
Data Formats 📦 77
Data Processing 📦 266
Data Storage 📦 132
Economics 📦 60
Frameworks 📦 198
Games 📦 122
Graphics 📦 103
Hardware 📦 148
Integrated Development Environments 📦 47
Learning Resources 📦 147
Legal 📦 28
Libraries 📦 119
Lists Of Projects 📦 21
Machine Learning 📦 336
Mapping 📦 61
Marketing 📦 15
Mathematics 📦 55
Media 📦 228
Messaging 📦 97
Networking 📦 304
Operating Systems 📦 84
Operations 📦 120
Package Managers 📦 52
Programming Languages 📦 229
Runtime Environments 📦 96
Science 📦 42
Security 📦 375
Social Media 📦 26
Software Architecture 📦 70
Software Development 📦 68
Software Performance 📦 57
Software Quality 📦 127
Text Editors 📦 45
Text Processing 📦 131
User Interface 📦 310
User Interface Components 📦 465
Version Control 📦 29
Virtualization 📦 68
Web Browsers 📦 38
Web Servers 📦 25
Web User Interface 📦 194