{"id":18084740,"url":"https://github.com/coderofsalvation/flowee","last_synced_at":"2025-04-06T00:12:38.444Z","repository":{"id":57238844,"uuid":"47969732","full_name":"coderofsalvation/flowee","owner":"coderofsalvation","description":"a lightweight way to create JSONAPI-compatible api's_ using nodejs:","archived":false,"fork":false,"pushed_at":"2020-09-10T17:56:43.000Z","size":493,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-12T11:07:07.723Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://flowee.isvery.ninja","language":"CoffeeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coderofsalvation.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"custom":"https://gumroad.com/l/hGYGh"}},"created_at":"2015-12-14T11:02:12.000Z","updated_at":"2020-05-28T18:50:59.000Z","dependencies_parsed_at":"2022-09-05T07:51:14.655Z","dependency_job_id":null,"html_url":"https://github.com/coderofsalvation/flowee","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderofsalvation%2Fflowee","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderofsalvation%2Fflowee/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderofsalvation%2Fflowee/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderofsalvation%2Fflowee/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coderofsalvation","download_url":"https://codeload.github.com/coderofsalvation/flowee/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247415975,"owners_count":20935387,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-31T15:07:59.073Z","updated_at":"2025-04-06T00:12:38.419Z","avatar_url":"https://github.com/coderofsalvation.png","language":"CoffeeScript","funding_links":["https://gumroad.com/l/hGYGh"],"categories":[],"sub_categories":[],"readme":"## Flowee\n\na __lightweight__ way to __create JSONAPI__-compatible api's for _nodejs_\n\n![Build Status](https://travis-ci.org/coderofsalvation/flowee.svg?branch=master)\n\n## Getting started\n\n    $ npm install flowee\n    $ cp node_modules/flowee/test/model.js .\n\n__Create `server.js`:__\n\n    var flowee = require('flowee')\n  \n    var app = flowee.init({ model: require('./model.js'), store: true });\n    flowee.start( function(server) {\n      return server.listen(1337);\n    });\n\n( See [model.js here](https://github.com/coderofsalvation/flowee/blob/master/test/model.js) )\n\n    $ node server.js\n\n\u003e Voila! Now you have a server running with automatically mapped database entities (incl. __many to many__ relations OHMY).\n\n## Architecture\n\n![](http://coderofsalvation.github.io/flowee/img/diagram.png)\n\n__Flowee__ promotes [configuration over convention](http://flowee.isvery.ninja/doc/howto-configuration-over-convention), click \u003cA href=\"http://coderofsalvation.github.io/flowee/img/diagram.png\" target=\"_blank\"\u003ehere\u003c/a\u003e to see the fullscreen architecture\n\n## Howtos\n\n* [I want a database structure)](http://flowee.isvery.ninja/doc/howto-database.html)\n* [I want custom endpoints](http://flowee.isvery.ninja/doc/howto-custom-endpoints.html)\n* [I want to implementing logic](http://flowee.isvery.ninja/doc/howto-logic.html)\n* [Middleware](http://flowee.isvery.ninja/doc/howto-middleware.html)\n\n## Features\n\nBuilt on the shoulders of [fortunejs](http://fortunejs.com/), which represents:\n\n* fast installation: core is +/- 10M\n* [configuration over convention](http://flowee.isvery.ninja/doc/howto-configuration-over-convention)\n* a teaspoon of automatic database object relations mappings \n* 5 liters of [JSONAPI v1](http://jsonapi.org/) compatible REST responses \n* swappable database adapters like [MongoDB](https://www.npmjs.com/package/fortune-mongodb), [Postgres](https://www.npmjs.com/package/fortune-postgres), [Redis](https://www.npmjs.com/package/fortune-redis) adapter\n\nOh..and:\n\n* [DDA](http://www.slideshare.net/apigee/i-love-apis-2015-create-designdriven-apis-with-nodejs-and-swagger): design-driven api by using a json __SWAGGER v2__ compatible model \n* __middleware compatible__: connect [express](http://expressjs.com) and [restify](http://restify.com) middleware modules from npm\n\n## Extensions\n\n\u003e [flowee-doc](https://npmjs.org/flowee-doc): automatic generating api documentation\n\n\u003cimg alt=\"\" src=\"https://github.com/coderofsalvation/flowee-doc/raw/master/.doc/apiexplorer.png\" height=\"200px\"/\u003e\u003cbr\u003e\n\n\u003e [flowee-auth](https://npmjs.org/flowee-auth): passport authentication\n\n\u003cimg alt=\"\" src=\"https://pbs.twimg.com/profile_images/599259952574693376/DMrPoJtc.png\" height=\"200px\"/\u003e\u003cbr\u003e\n\n\u003e [flowee-admin](): automatic admin interface (__TODO__)\n\n## Philosophy \n\nTake a look at [loopback](http://blog.jeffdouglas.com/2015/07/07/roll-your-own-api-vs-loopback), [meteor](http://meteor.com), [cleverstack](http://cleverstack.io). \nNow imagine lightweight.\nFlowee likes to focus on:\n\n* lightweight and fast to install\n* json driven, declarative (monkeypatchable configuration over convention)\n* http framework agnostic\n* [configuration over convention](http://flowee.isvery.ninja/doc/howto-configuration-over-convention)\n* allow re-usage of middleware from http frameworks like express/restify etc\n* extend using npm installs: no cli tools, no learningcurve\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderofsalvation%2Fflowee","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoderofsalvation%2Fflowee","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderofsalvation%2Fflowee/lists"}