{"id":29267648,"url":"https://github.com/devshahrukhanwar/api-shahrukh-anwar","last_synced_at":"2026-04-04T20:32:53.658Z","repository":{"id":302520765,"uuid":"1005546437","full_name":"devshahrukhanwar/api-shahrukh-anwar","owner":"devshahrukhanwar","description":"A modern, production-ready Express.js API designed for serverless deployment on Vercel. Features MVC architecture, caching, OpenAPI docs, Neon Postgres integration, and notifications via Telegram, Brevo, and more. Perfect for job applications, portfolio showcases, and scalable SaaS backends.","archived":false,"fork":false,"pushed_at":"2025-08-22T12:22:29.000Z","size":133,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-22T14:36:41.038Z","etag":null,"topics":["api","express-js","javascript","postgres","pug","smtp","vercel"],"latest_commit_sha":null,"homepage":"https://api-shahrukhanwar.vercel.app/docs","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/devshahrukhanwar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":"If you find this project useful or want to support my work, you can sponsor me!\n- [GitHub Sponsors](https://github.com/sponsors/devshahrukhanwar) - [Buy Me a Coffee](https://www.buymeacoffee.com/devshahrukh)\nThank you for your support! 🙏"},"created_at":"2025-06-20T11:55:53.000Z","updated_at":"2025-08-22T12:22:34.000Z","dependencies_parsed_at":"2025-08-22T14:22:01.439Z","dependency_job_id":"9072feb7-4baf-4d9e-914a-885e6070e588","html_url":"https://github.com/devshahrukhanwar/api-shahrukh-anwar","commit_stats":null,"previous_names":["devshahrukhanwar/api-shahrukh-anwar"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/devshahrukhanwar/api-shahrukh-anwar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devshahrukhanwar%2Fapi-shahrukh-anwar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devshahrukhanwar%2Fapi-shahrukh-anwar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devshahrukhanwar%2Fapi-shahrukh-anwar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devshahrukhanwar%2Fapi-shahrukh-anwar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devshahrukhanwar","download_url":"https://codeload.github.com/devshahrukhanwar/api-shahrukh-anwar/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devshahrukhanwar%2Fapi-shahrukh-anwar/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31413269,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T20:09:54.854Z","status":"ssl_error","status_checked_at":"2026-04-04T20:09:44.350Z","response_time":60,"last_error":"SSL_read: 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":["api","express-js","javascript","postgres","pug","smtp","vercel"],"created_at":"2025-07-04T18:11:14.212Z","updated_at":"2026-04-04T20:32:53.626Z","avatar_url":"https://github.com/devshahrukhanwar.png","language":"JavaScript","funding_links":["https://github.com/sponsors/devshahrukhanwar","https://www.buymeacoffee.com/devshahrukh"],"categories":[],"sub_categories":[],"readme":"# Portfolio API – Express.js, Pug, Vercel, Neon Postgres, Swagger\n\n[![Frontend](https://img.shields.io/badge/Frontend-shahrukh--anwar-blue?logo=github)](https://github.com/devshahrukhanwar/shahrukh-anwar)\n[![Vercel Deploy](https://img.shields.io/badge/Deployed%20on-Vercel-000?logo=vercel\u0026logoColor=white)](https://api-shahrukhanwar.vercel.app)\n[![Postgres](https://img.shields.io/badge/Database-Neon%20Postgres-008cff?logo=postgresql\u0026logoColor=white)](https://neon.com/)\n![File](https://img.shields.io/badge/Cache-File-ff4c4c?logo=file\u0026logoColor=white)\n[![Swagger Docs](https://img.shields.io/badge/API%20Docs-Swagger-85ea2d?logo=swagger\u0026logoColor=black)](https://api-shahrukhanwar.vercel.app/docs)\n[![License](https://img.shields.io/badge/license-MIT-blue)](LICENSE)\n\n---\n\n## 📝 Overview\n\nA modern, production-ready Node.js/Express portfolio API, designed for ready-to-ship serverless deployment on Vercel.\n\nFeature robust MVC architecture, hot reload, caching, OpenAPI docs, analytics, notifications, and seamless integration with Neon Postgres.\n\n\u003e **Perfect for job applications, portfolio showcases, and scalable SaaS backends.**\n\n---\n\n## 🖥️ Frontend(UI)\n\nThis repository is backend-only. For frontend features and UI, please use the companion repository:\n\n\u003e **Note:** For full functionality, clone and run the frontend UI from [shahrukh-anwar](https://github.com/devshahrukhanwar/shahrukh-anwar) as well.\n\n---\n\n## ✨ Features\n\n| Feature                        | Description                                                          |\n| ------------------------------ | -------------------------------------------------------------------- |\n| **Express.js**                 | Fast, minimalist API server                                          |\n| **Vercel Ready**               | Serverless, zero-config deployment                                   |\n| **MVC Structure**              | Clean separation of controllers, models, routes, services, utilities |\n| **Hot Reload**                 | Local dev with `nodemon` and `tsc --watch`                           |\n| **Caching**                    | File-based cache for serverless architecture                         |\n| **CORS**                       | Secure, environment-aware CORS for local, preview, and production    |\n| **Database**                   | `Neon Postgres` (free tier, scalable)                                |\n| **Cron Jobs**                  | Automated temp file cleanup (Vercel + local)                         |\n| **OpenAPI/Swagger Docs**       | Live, interactive API docs at `/docs`                                |\n| **Notifications**              | Email (Brevo), Telegram, and more                                    |\n| **API**                        | Telegram, Twitter, Medium, Dev.to, Brevo                             |\n| **Analytics \u0026 Logging**        | Custom utilities for request/error logging and analytics             |\n| **Professional Documentation** | All endpoints documented with OpenAPI                                |\n\n---\n\n## 🗂️ Project Structure\n\n```plaintext\n.\n├── src/\n│   ├── config/           # Application wide configs\n│   ├── controllers/      # Business logic (Notification, Puppeteer, Social, Utility)\n|   ├── middleware/       # Middlewares to secure the routes\n|   ├── migrations/       # SQL migrations for Neon Postgres\n│   ├── models/           # Data models (Contact, etc.)\n│   ├── routes/           # API route definitions\n│   ├── services/         # External integrations (Email, Telegram, etc.)\n│   ├── utility/          # Cache, DB, Logging, Response, Template\n│   ├── views/            # For views, email templates\n│   ├── swagger.js        # Swagger/OpenAPI config\n│   ├── index.js          # Express app entry point\n├── .env.example          # Environment variable template\n├── vercel.json           # Vercel deployment config\n└── README.md\n```\n\n---\n\n## 📚 API Documentation\n\n- **Live Swagger UI:** [https://api-shahrukhanwar.vercel.app/docs](https://api-shahrukhanwar.vercel.app/docs)\n- **OpenAPI Spec:** All endpoints are fully documented with request/response schemas, tags, and examples.\n\n---\n\n## 🛠️ Quick Start\n\n### 1. Clone the Repository\n\n```bash\ngit clone https://github.com/devshahrukhanwar/api-shahrukh-anwar.git\ncd api-shahrukh-anwar\n```\n\n### 2. Install Dependencies\n\n```bash\nnpm install\n```\n\n### 3. Configure Environment\n\n- Copy `.env.example` to `.env` and fill in your secrets.\n- Set up Neon Postgres (DB), Brevo (Email), Telegram API (Notifications), Twitter API, Dev.to\n- Add your API keys for Twitter, Brevo, Telegram, etc.\n\n### 4. Run Locally\n\n```bash\nnpm run dev:all\n# or\nnpm run dev\n```\n\n- Visit [http://localhost:3000/docs](http://localhost:3000/docs) for API docs.\n\n### 5. Deploy to Vercel (Optional)\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https://github.com/devshahrukhanwar/api-shahrukh-anwar)\n\n---\n\n## 🔒 Environment Variables\n\nSee `.env.example` for all required variables:\n\n| Key     | Description                       |\n| ------- | --------------------------------- |\n| APP_ENV | Environment (local/production)    |\n| APP_URL | Main app URL                      |\n| API_URL | API base URL                      |\n| ...     | (see `.env.example` for all keys) |\n\n---\n\n## 📦 Integrations\n\n- **Database:** [Neon Postgres](https://neon.com)\n- **Cache:** File based(Default), [Upstash Redis](https://upstash.com)\n- **Email:** [Brevo](https://www.brevo.com/)\n- **Social:** Twitter, Dev.to, Medium\n- **Notifications:** Telegram, Email\n\n---\n\n## 🤝 Contact\n\n- 📧 Email: [shahrukhanwar@proton.me](mailto:shahrukhanwar@proton.me)\n- 🌐 Portfolio: [shahrukhanwar.vercel.app](https://shahrukhanwar.vercel.app)\n- 💼 LinkedIn: [linkedin.com/in/devshahrukh](https://www.linkedin.com/in/devshahrukh)\n- 🐦 Twitter: [x.com/devshahrukh](https://x.com/devshahrukh)\n\n---\n\n## 📄 License\n\nThis project is open source and available under the [MIT License](LICENSE).\n\n---\n\n## 💖 Sponsor \u0026 Support\n\nIf you find this project useful, star the repository, consider supporting me:\n\n\u003cp align=\"left\"\u003e\n  \u003ca href=\"https://github.com/sponsors/devshahrukhanwar\"\u003e\u003cimg src=\"https://img.shields.io/badge/Sponsor%20on-GitHub-E4405F?logo=githubsponsors\u0026logoColor=fff\u0026style=flat\" alt=\"Sponsor on GitHub\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.buymeacoffee.com/devshahrukh\"\u003e\u003cimg src=\"https://img.shields.io/badge/Buy%20Me%20a%20Coffee-FFDD00?logo=buymeacoffee\u0026logoColor=000\u0026style=flat\" alt=\"Buy Me a Coffee\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003cp align=\"left\"\u003e\n  Developed by Shahrukh Anwar | Built with Express.js | Hosted on Vercel\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevshahrukhanwar%2Fapi-shahrukh-anwar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevshahrukhanwar%2Fapi-shahrukh-anwar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevshahrukhanwar%2Fapi-shahrukh-anwar/lists"}