Chinchay

# Welcome to the Chinchay Documentation

Building a web app is no easy task. The coding itself can be very time consuming and tedious, but it's not the trickiest part: having an organized file structure, following industry best practices, restricting access and managing HTTP status codes correctly is where development gets puzzling. But fear not! Chinchay will speed up your development making sure you end up with a top-notch web app.

Going technical, Chinchay is a npm package that works on top of express.js (and therefore node.js) and connects to a postgreSQL database through knex.js, a SQL query builder.

# So what does Chinchay actually do?

  • Use Chinchay’s CLI to automate CRUD (Create, Read, Update, Delete) operations. It will follow a MVC(Model View Controller) architecture pattern. With it, I can assure you coding will not be tedious nor time consuming. Chinchay tries not to be highly-opinionated and favours flexibility, therefore is fully customizable through the .chainfile.js.
  • Chinchay’s CLI will create an API following the REST application architecture.
  • If you do not use the Chinchay CLI, Chinchay does offer a HATEOAS generator that can be added to your API, one step forward towards a RESTful API.
  • Chinchay provides an ErrorHandler to manage HTTP status codes, returning meaningful messages and codes.
  • Protect your app, so that only authorized users access the data. Use Chinchay Access Module, Chinchay’s middleware and Chinchay’s sister package TheWall to fully control who can access what. See the API tutorial for a complete guide!
  • Chinchay’s CLI will also create Frontend views to work with the generated API. It can either be with ejs or Angular. [Currently working in more frontend options!]
  • Chinchay allows API clients to customize their queries. With just a couple of endpoints and a very simple syntax, API clients can query what they need. Obviously this can be limited and disabled as needed. See API: Client Querying for more!
  • Last, But definitely not least, Chinchay offers a flexible and extendable Table Gateway Model. To organize and manage your database queries without even knowing any SQL.

# Getting Started

So what are you waiting for?? Go to the getting started section to begin your journey with Chinchay!

Here some quick links: