{"id":21948762,"url":"https://github.com/nemtsov/express-starter","last_synced_at":"2026-03-12T07:01:59.021Z","repository":{"id":48394491,"uuid":"50865109","full_name":"nemtsov/express-starter","owner":"nemtsov","description":"Express Starter","archived":false,"fork":false,"pushed_at":"2021-07-28T10:15:11.000Z","size":520,"stargazers_count":14,"open_issues_count":13,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-07T05:03:28.697Z","etag":null,"topics":["docker","express","jwt-authentication","nodejs","postgresql"],"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/nemtsov.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":"2016-02-01T19:33:12.000Z","updated_at":"2019-09-25T18:43:47.000Z","dependencies_parsed_at":"2022-08-24T09:20:25.817Z","dependency_job_id":null,"html_url":"https://github.com/nemtsov/express-starter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nemtsov/express-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemtsov%2Fexpress-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemtsov%2Fexpress-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemtsov%2Fexpress-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemtsov%2Fexpress-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nemtsov","download_url":"https://codeload.github.com/nemtsov/express-starter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemtsov%2Fexpress-starter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30417685,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-12T06:40:58.731Z","status":"ssl_error","status_checked_at":"2026-03-12T06:40:40.296Z","response_time":114,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["docker","express","jwt-authentication","nodejs","postgresql"],"created_at":"2024-11-29T05:17:44.450Z","updated_at":"2026-03-12T07:01:59.004Z","avatar_url":"https://github.com/nemtsov.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Express Starter ![ci](https://travis-ci.org/nemtsov/express-starter.svg?branch=master)\n\nThis is a starter project for the Express and Node \u003e= 8 featuring:\n\n  - Docker\n  - PostgreSQL\n  - JWT-based authentication\n  - `async / await` everywhere\n  - Designed for ease of testing with an emphasis on \"few-millisecond-fast\" end-to-end tests\n  - Service-based folder structure (each folder in `/lib` is a separate service, with its own `index.js`, `datastore.js` [if necessary], and a web `resource.js`) for easier navigation\n  - Configuration is done via environment variables\n\nThe `lib/github` service is here to serve as an example of how a service\nthat has an http resource as well as non-trivial dependencies may be\nimplemented and tested.\n\nNote: Minimum requirement is Node v8.0.0\n\n\n## Usage\n\nDevelopment:\n`docker-compose up`\n\nTesting:\n`npm test`\n\nCheck coverage:\n`npm run test:cover`\n\nRe-run tests when a file changes:\n`npm run test:watch`\n\nProduction:\n`npm install`\n`npm start`\n\n\n## Auth\n\nCreate a new user:\n```\ncurl -i -XPOST 'http://localhost:4000/users' -H 'Content-type: application/json' -d '{\"email\": \"e@e.com\", \"password\": \"pass\"}'\n```\n\nCreate a token for the user:\n```\ncurl -i -XPOST -u 'e@e.com:pass' 'http://localhost:4000/tokens'\n```\n\nUse the token to get data:\n```\ncurl -i 'http://localhost:4000/github/nodejs' -H 'Authorization: Bearer \u003cTOKEN_FROM_PREV_STEP\u003e'\n```\n\n\n## License\n\n[MIT](/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnemtsov%2Fexpress-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnemtsov%2Fexpress-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnemtsov%2Fexpress-starter/lists"}