{"id":25553492,"url":"https://github.com/jeff-li/express-api-sever","last_synced_at":"2026-04-09T23:03:38.774Z","repository":{"id":42298651,"uuid":"236798140","full_name":"jeff-li/express-api-sever","owner":"jeff-li","description":"An enhanced template for your next project using Express.js and PostgreSQL. ","archived":false,"fork":false,"pushed_at":"2023-06-14T01:57:00.000Z","size":262,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-06-14T03:15:20.499Z","etag":null,"topics":["backend","express","nodejs","postgresql","restful-api","server","swagger-ui","template"],"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/jeff-li.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":"2020-01-28T17:42:46.000Z","updated_at":"2023-06-14T00:42:11.000Z","dependencies_parsed_at":"2023-02-06T11:46:45.498Z","dependency_job_id":null,"html_url":"https://github.com/jeff-li/express-api-sever","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeff-li%2Fexpress-api-sever","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeff-li%2Fexpress-api-sever/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeff-li%2Fexpress-api-sever/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeff-li%2Fexpress-api-sever/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeff-li","download_url":"https://codeload.github.com/jeff-li/express-api-sever/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239833540,"owners_count":19704628,"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":["backend","express","nodejs","postgresql","restful-api","server","swagger-ui","template"],"created_at":"2025-02-20T12:00:59.337Z","updated_at":"2026-02-18T22:30:16.421Z","avatar_url":"https://github.com/jeff-li.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eexpress-api-sever\u003c/h1\u003e\n\u003cdiv align=\"center\"\u003e\nAn enhanced template for your next project using Express.js and PostgreSQL. \n\n[![MIT](https://img.shields.io/dub/l/vibe-d.svg?style=flat-square)](http://opensource.org/licenses/MIT)\n[![CircleCI](https://circleci.com/gh/jeff-li/express-api-sever/tree/master.svg?style=svg)](https://circleci.com/gh/jeff-li/express-api-sever/tree/master)\n[![codecov](https://codecov.io/gh/jeff-li/express-api-sever/branch/master/graph/badge.svg?token=BZMDHLXB3N)](https://codecov.io/gh/jeff-li/express-api-sever)\n\u003c/div\u003e\n\n\nThis repo is an opinionated template which can save you time when starting a new nodejs backend project. It includes many best practices and useful tools that have benefited me in the past. I tried to keep it a straight-forward API only server so it's not bloated with view engines. Hopefully it can give your project jump-start and you don't have to reconfigure everything from scratch.\n\n## Features\n\n✅  [Dockerized](https://www.docker.com/)  \n✅  [CircleCI](https://circleci.com/) for continuous integration. Tests results and artifacts stored after each build  \n✅  [Prettier](https://prettier.io/) enabled  \n✅  Prevent some well-known web vulnerabilities with [Helmet](https://helmetjs.github.io/)  \n✅  Unit testing with [Mocha](https://mochajs.org/), [Chai](https://www.chaijs.com/) and [Sinon](https://sinonjs.org/)  \n✅  [Winston](https://github.com/winstonjs/winston) logger  \n✅  Connection to PostgreSql databases through [Sequelize](https://sequelize.org/master/) ORM  \n✅  [Swagger-UI](https://swagger.io/tools/swagger-ui/) API docs generation using [Swagger UI Express](https://github.com/scottie1984/swagger-ui-express)  \n✅  Automatic reload development server with [Nodemon](https://nodemon.io/)  \n✅  Code linting with [ESLint](https://eslint.org/)  \n✅  Track unit-test coverage with [Istanbul](https://istanbul.js.org/)  \n✅  [Codecov](https://about.codecov.io/) for unit test coverage monitoring  \n\nPlease feel free to remove features that's not needed in your project.\n\n\n## Getting Started with Docker\n\n1. Run the development server using Docker Compose:\n\n```bash\ndocker compose up -d\n```\n\n2. Open [http://localhost:3000/api-docs/](http://localhost:3000/api-docs/) with your browser to interact with available API endpoints.\n\n## Getting Started without Docker\n\n1. Update `.env` file with your PostgreSQL database config: `DB_USER`, `DB_PASS`, `DB_DATABASE` and `DB_HOST`\n\n2. Run `npm run dev` to start the development server\n\n3. Open [http://localhost:3000/api-docs/](http://localhost:3000/api-docs/) with your browser to interact with available API endpoints.\n\n## Available Scripts\n\nIn the project directory, you can run:\n\n### `npm start`\n\nRun all migration scripts and start server\u003cbr /\u003e\n\n### `npm run dev`\n\nRun all migration scripts and start development server with nodemon\u003cbr /\u003e\n\n### `npm test`\n\nRun all unit tests and report coverage\u003cbr /\u003e\n\n### `npm run test-watch`\n\nRun all unit tests in watch mode\u003cbr /\u003e\n\n### `npm run report-coverage`\n\nReport current test coverage with `nyc`\u003cbr /\u003e\n\n### `npm run migrate`\n\nRun Sequelize migration and seed scripts\u003cbr /\u003e\n\n### `npm run lint`\n\nRun Eslint linter on all .js files\u003cbr /\u003e\n### `npm run format`\n\nFormat all .js files with Prettier\u003cbr /\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeff-li%2Fexpress-api-sever","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeff-li%2Fexpress-api-sever","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeff-li%2Fexpress-api-sever/lists"}