{"id":21581221,"url":"https://github.com/ezy/sneap-express-pg-sequelize","last_synced_at":"2026-04-09T12:00:06.897Z","repository":{"id":42358613,"uuid":"158295772","full_name":"ezy/SNEAP-express-pg-sequelize","owner":"ezy","description":"A super simple Node JS API demo built with Express, for PostgreSQL using Sequelize ORM.","archived":false,"fork":false,"pushed_at":"2023-01-23T21:57:10.000Z","size":1248,"stargazers_count":0,"open_issues_count":19,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-24T14:43:51.613Z","etag":null,"topics":["api","api-server","express","express-js","expressjs","node","nodejs","postgres","postgresql","sequelize","server"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ezy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-11-19T22:01:24.000Z","updated_at":"2020-07-28T22:20:15.000Z","dependencies_parsed_at":"2023-01-30T06:46:21.578Z","dependency_job_id":null,"html_url":"https://github.com/ezy/SNEAP-express-pg-sequelize","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ezy%2FSNEAP-express-pg-sequelize","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ezy%2FSNEAP-express-pg-sequelize/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ezy%2FSNEAP-express-pg-sequelize/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ezy%2FSNEAP-express-pg-sequelize/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ezy","download_url":"https://codeload.github.com/ezy/SNEAP-express-pg-sequelize/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244181388,"owners_count":20411604,"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":["api","api-server","express","express-js","expressjs","node","nodejs","postgres","postgresql","sequelize","server"],"created_at":"2024-11-24T14:11:43.370Z","updated_at":"2025-12-31T00:16:19.175Z","avatar_url":"https://github.com/ezy.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SNEAP - ExpressJS NodeJS API server with Postgres \u0026 Sequelize\n\nA super simple Node JS API demo built with Express, for PostgreSQL using Sequelize ORM. Has a folder structure that follows sequelize-cli conventions with a pod structure for routes and controllers.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\n**Stack**\n\n* [Node.js](https://nodejs.org/en/)\n* [PostgreSQL](https://www.postgresql.org/)\n* [Sequelize](http://docs.sequelizejs.com/en/v3/)\n* [Sequelize-CLI](https://github.com/sequelize/cli)\n* [JSON Web Token](https://jwt.io/)\n\n**Testing**\n\n* [Mocha](https://mochajs.org/)\n* [Chai](http://chaijs.com/)\n* [Supertest](https://github.com/visionmedia/supertest)\n\n\n### Features\n\n- [x] Authentication with JSON Web Token\n- [x] Email, Password validations\n- [x] User login and registration\n- [x] Full API and Unit test coverage\n- [x] Simple demo endpoint template\n- [x] Logging with winston\n\n### Folder structure\n\n* **api** - contains all endpoint folders and router file\n  * **pod folder** - contains route and controller for pod\n  * **router.js** - contains all router endpoints for the api \n* **config** - all config settings and middlewares\n* **migrations** - sequelize\n* **models** - sequelize\n* **seeders** - sequelize\n* **services** - folder for all utils and services\n* **tests** - folder for all test files\n\n### To run locally\n\nMake sure to install and run PostgreSQL first. There are a list of package.json\nscripts that include core sequelize migrations and seeds.\n\n```\nbrew update\nbrew install postgres\n```\nThen you'll need to adjust the config file `config/db.js` to suit your setup.\n\nThen run `npm run reset` and your db will create from scratch and seed data under\nthe db name `vanilla_dev`.\n\nRunning `npm run dev` will start your dev server where needed.\n\n### Testing\n\nYou'll need to setup the test server using `npm run resettest`. To trigger the mocha/chai tests enter:\n```\nnpm run test\n```\n\n#### Postman\n\nThere is a postman collection file for API testing and development in\n`./node-starter.postman_collection.json`. It contains scripts and\nbasic CRUD for:\n\n* /auth\n  * [POST] Register (/register)\n  * [POST] Login (/login)\n\n* /demos\n  * [POST] Single demo (/ - with auth)\n  * [PATCH] Single demo (/:id - with auth)\n  * [DEL] Single demo (/:id - with auth)\n  * [GET] All demos (/)\n  * [GET] Single demo (/:id)\n\n#### Sequelize ORM\n\nNode Starter uses Sequelise ORM to interact with Postgres. Install globally\non your dev machine using `npm run global sequelize-cli` then run commands with\n`sequelize` or alternately run commands locally in your dev folder with the\nbuilt in dev package `./node_modules/.bin/sequelize init`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fezy%2Fsneap-express-pg-sequelize","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fezy%2Fsneap-express-pg-sequelize","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fezy%2Fsneap-express-pg-sequelize/lists"}