{"id":22160969,"url":"https://github.com/meeruzairwashere/typepen","last_synced_at":"2025-07-30T12:34:48.714Z","repository":{"id":264676939,"uuid":"894059634","full_name":"MeerUzairWasHere/TypePEN","owner":"MeerUzairWasHere","description":"A TypeScript-based backend starter with PostgreSQL, Express, and Node.js. Flexible and frontend-agnostic—connect with React, Angular, Vue, or any framework!","archived":false,"fork":false,"pushed_at":"2025-06-11T07:17:04.000Z","size":917,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-11T07:37:26.508Z","etag":null,"topics":["backend","docker","express","nodejs","postgres","prisma"],"latest_commit_sha":null,"homepage":"https://typepen-hi81.onrender.com/","language":"TypeScript","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/MeerUzairWasHere.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-11-25T17:18:47.000Z","updated_at":"2025-06-11T07:16:04.000Z","dependencies_parsed_at":"2024-12-20T10:34:36.090Z","dependency_job_id":"042c1d10-a917-4bf4-93ca-1999318909e1","html_url":"https://github.com/MeerUzairWasHere/TypePEN","commit_stats":null,"previous_names":["meeruzairwashere/typepen"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/MeerUzairWasHere/TypePEN","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeerUzairWasHere%2FTypePEN","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeerUzairWasHere%2FTypePEN/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeerUzairWasHere%2FTypePEN/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeerUzairWasHere%2FTypePEN/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MeerUzairWasHere","download_url":"https://codeload.github.com/MeerUzairWasHere/TypePEN/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeerUzairWasHere%2FTypePEN/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267867819,"owners_count":24157356,"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","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["backend","docker","express","nodejs","postgres","prisma"],"created_at":"2024-12-02T04:11:50.985Z","updated_at":"2025-07-30T12:34:48.706Z","avatar_url":"https://github.com/MeerUzairWasHere.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TypeScript Backend Starter with PostgreSQL, Express, and Node.js\n\nA flexible backend starter built with **TypeScript**, **PostgreSQL**, **Express**, and **Node.js**. This boilerplate is designed to be backend-agnostic, allowing you to easily connect it with any frontend framework such as **React**, **Angular**, **Vue**, or a custom solution.\n\n## Features\n\n* **TypeScript**: Strongly typed JavaScript for a better development experience.\n* **Express**: Minimal and flexible Node.js web application framework.\n* **PostgreSQL**: Powerful open-source relational database.\n* **Backend-Agnostic**: Easily connect to any frontend.\n* **Easy Setup**: Quick initialization and project bootstrapping.\n* **Docker Support**: Spin up PostgreSQL instantly with Docker.\n\n## Requirements\n\n* **Node.js** (v14 or later)\n* **Docker** (optional, for local PostgreSQL setup)\n\n---\n\n## Getting Started\n\n### 1. Clone the Repository\n\n```bash\ngit clone https://github.com/MeerUzairWasHere/TypePEN.git\ncd TypePEN\n```\n\n---\n\n### 2. Install Dependencies\n\n```bash\ncd backend \u0026\u0026 npm install\n```\n\nIf you don't have TypeScript installed globally, install it with:\n\n```bash\nnpm install -g typescript\n```\n\nOr install it locally in the project:\n\n```bash\nnpm install --save-dev typescript\n```\n\n---\n\n### 3. Set Up the Database\n\nYou have **two options** to set up the PostgreSQL database:\n\n#### Option A: Use a Remote PostgreSQL Provider\n\n1. Use services like [Neon](https://neon.tech), [ElephantSQL](https://www.elephantsql.com/), or your own hosted PostgreSQL.\n2. Copy the connection string.\n3. Rename `.env.example` to `.env` and paste your connection string:\n\n```env\nDATABASE_URL=your-remote-postgresql-connection-string\n```\n\n---\n\n#### Option B: Use Docker Locally\n\n1. Run the following command to spin up a PostgreSQL container:\n\n```bash\nnpm run db\n```\n\n\u003e This will create a PostgreSQL instance using Docker with default credentials defined in your `.env` file.\n\n---\n\n### 4. Run Migrations\n\nBefore starting the server for the first time, apply the initial database schema:\n\n```bash\nnpm run dev:migrate\n```\n\n\u003e This command pushes the initial Prisma migration files to the database.\n\n---\n\n### 5. Start the Server\n\nRun the backend server:\n\n```bash\nnpm run dev\n```\n\nIf everything is set up correctly, you’ll see:\n\n```\nServer is listening on http://localhost:3000/\n```\n\nThe default port can be changed via the `.env` file.\n\n---\n\n### 6. Swagger Documentation (Optional)\n\nOn first run, the server may redirect you to an API documentation page powered by Swagger UI.\n\nIf you **don’t want** Swagger documentation, **comment out or remove** the Swagger-related code in `index.ts`.\n\n---\n\n## Connecting with Frontend Frameworks\n\nThis backend can be used with:\n\n* **React**\n* **Vue**\n* **Angular**\n* Or any other frontend via REST API calls.\n\n---\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n---\n\n### 🙋‍♂️ Need Help?\n\nIf you have questions or need help getting started, feel free to reach out!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeeruzairwashere%2Ftypepen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeeruzairwashere%2Ftypepen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeeruzairwashere%2Ftypepen/lists"}