All Projects → themostaza → Koa Starter

themostaza / Koa Starter

An opinionated Koa starter kit

Programming Languages

javascript
184084 projects - #8 most used programming language
es6
455 projects

Projects that are alternatives of or similar to Koa Starter

K2
Koa2 API template with passport, GraphQL, flowtype, knex and more.
Stars: ✭ 44 (+340%)
Mutual labels:  postgresql, koa2, jest
Blog Service
blog service @nestjs
Stars: ✭ 188 (+1780%)
Mutual labels:  koa2, jest
Express Graphql Boilerplate
Express GraphQL API with JWT Authentication and support for sqlite, mysql, and postgresql
Stars: ✭ 201 (+1910%)
Mutual labels:  postgresql, jest
Typescript Express Starter
🚀 TypeScript Express Starter
Stars: ✭ 238 (+2280%)
Mutual labels:  postgresql, jest
Postgraphile
GraphQL is a new way of communicating with your server. It eliminates the problems of over- and under-fetching, incorporates strong data types, has built-in introspection, documentation and deprecation capabilities, and is implemented in many programming languages. This all leads to gloriously low-latency user experiences, better developer experiences, and much increased productivity. Because of all this, GraphQL is typically used as a replacement for (or companion to) RESTful API services.
Stars: ✭ 10,967 (+109570%)
Mutual labels:  postgresql, koa2
Vue Koa Demo
🔰A simple full stack demo(CSR & SSR & Docker Support) written by Vue2 & Koa2(Koa1 verson also completed)
Stars: ✭ 730 (+7200%)
Mutual labels:  koa2, jest
Svelte Tailwind Extension Boilerplate
A Chrome extension boilerplate built with Svelte, TailwindCSS, Jest, and Rollup.
Stars: ✭ 26 (+160%)
Mutual labels:  jest
Migrator
Opinionated database migration library for Go applications.
Stars: ✭ 7 (-30%)
Mutual labels:  postgresql
Koa Generator
Koa' application generator for 1.x and 2.x( Express-style and support all middlewares include async/await )
Stars: ✭ 929 (+9190%)
Mutual labels:  koa2
Postgis
PostGIS spatial database extension to PostgreSQL [mirror]
Stars: ✭ 925 (+9150%)
Mutual labels:  postgresql
Koa2 Blog
node+koa2+mysql
Stars: ✭ 856 (+8460%)
Mutual labels:  koa2
Pgweb
Cross-platform client for PostgreSQL databases
Stars: ✭ 7,114 (+71040%)
Mutual labels:  postgresql
Mongo Connector Postgresql
River from Mongo oplog to postgresql
Stars: ✭ 26 (+160%)
Mutual labels:  postgresql
Pgnodemx
A PostgreSQL extension that provides SQL functions to allow capture of node OS metrics via SQL queries.
Stars: ✭ 26 (+160%)
Mutual labels:  postgresql
Node Pg Migrate
Node.js database migration management for Postgresql
Stars: ✭ 838 (+8280%)
Mutual labels:  postgresql
Jest Styled Components Stylelint
Run stylelint on your styled-components styles at runtime.
Stars: ✭ 25 (+150%)
Mutual labels:  jest
Online Bling
Stars: ✭ 9 (-10%)
Mutual labels:  postgresql
Pgjdbc
Postgresql JDBC Driver
Stars: ✭ 925 (+9150%)
Mutual labels:  postgresql
Chingudevelopersnetwork
The Zoo
Stars: ✭ 26 (+160%)
Mutual labels:  postgresql
Angular Builders
Angular build facade extensions (Jest and custom webpack configuration)
Stars: ✭ 843 (+8330%)
Mutual labels:  jest

styled with prettier

 

koa-starter

Our Koa starter kit

 

Description

This project aims at being a "starter kit" for the apps we develop everyday at Mostaza.
We've been parse-server users since its first open source release and we enjoyed it a lot so far, but at the same time we've always looked for more customizable alternative with a smaller footprint, hence we started working on this repo.

Warning: Still a work in progress.

Features

N.B.: A feature should be checked as done only when paired with failing and working tests.

Middlewares:

  • [x] Secured routes from unauthenticated access - middlewares/ensureAuthenticated
  • [x] Handled parameters validation - koa-bouncer
  • [x] Handled cross domain requests - middlewares/allowCrossDomain
  • [x] Handled errors - middlewares/errorHandler

Authentication using session tokens (parse-server docet):

  • [x] Signup - POST /auth/signup
  • [x] Login - POST /auth/login
  • [x] Logout - POST /auth/logout
  • [x] Email Verification - GET /auth/verify
  • [x] Password reset email request - POST /auth/forgot
  • [x] Password reset page - GET /auth/reset
  • [x] Password reset handling - POST /auth/reset

User routes

  • [x] Get authenticated user - GET /user

Entities CRUD:

  • [x] Message: get all - GET /messages
  • [x] Message: get by id - GET /messages/:id
  • [x] Message: create - POST /messages
  • [x] Message: patch - PATCH /messages/:id
  • [x] Message: delete - DELETE /messages/:id
  • [ ] ...other

Utilities:

  • [x] Simple logging (not in TEST)

Setup

You must have Postgres installed. I recommend http://postgresapp.com/ for OSX.

git clone [email protected]:themostaza/koa-starter.git
cd koa-starter
touch .env
yarn install
yarn run start-dev

> Server is listening on http://localhost:3000...

Create a .env file in the root directory which will let you set environment variables. yarn run start-dev will read from it.

Example .env:

DATABASE_URL=postgres://username:[email protected]:5432/my-database
[email protected]
MANDRILL_API_KEY=secret-api-key
HTML_VERIFY_EMAIL_SUCCESS_PATH=./public_html/verify_email_success.html
HTML_PASSWORD_UPDATE_REQUEST_PATH=./public_html/password_update_request.html
HTML_PASSWORD_UPDATE_SUCCESS_PATH=./public_html/password_update_success.html

Acknowledgements:

We are grateful to the authors of existing related projects for their ideas and collaboration:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].