{"id":28911452,"url":"https://github.com/dines-04/subscription-tracker","last_synced_at":"2026-05-09T03:39:30.874Z","repository":{"id":300166872,"uuid":"1005378670","full_name":"DINES-04/Subscription-Tracker","owner":"DINES-04","description":"Subscription Tracker API is a RESTful backend service built with Node.js and Express for managing user authentication, subscriptions, and workflows. It integrates MongoDB for data storage and supports secure JWT-based login with a Postman collection for easy testing.","archived":false,"fork":false,"pushed_at":"2025-06-20T06:53:05.000Z","size":46,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-20T07:46:40.716Z","etag":null,"topics":["arcjet","bot-protection","expressjs","middleware","mongodb","rate-limiting","subscription-tracker"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DINES-04.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-06-20T06:20:27.000Z","updated_at":"2025-06-20T06:55:32.000Z","dependencies_parsed_at":"2025-06-20T07:56:52.684Z","dependency_job_id":null,"html_url":"https://github.com/DINES-04/Subscription-Tracker","commit_stats":null,"previous_names":["dines-04/subscription-tracker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DINES-04/Subscription-Tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DINES-04%2FSubscription-Tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DINES-04%2FSubscription-Tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DINES-04%2FSubscription-Tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DINES-04%2FSubscription-Tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DINES-04","download_url":"https://codeload.github.com/DINES-04/Subscription-Tracker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DINES-04%2FSubscription-Tracker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261179043,"owners_count":23120846,"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":["arcjet","bot-protection","expressjs","middleware","mongodb","rate-limiting","subscription-tracker"],"created_at":"2025-06-21T19:08:28.640Z","updated_at":"2026-05-09T03:39:30.833Z","avatar_url":"https://github.com/DINES-04.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Subscription Tracker API\nA RESTful API built with Express.js for tracking user subscriptions, managing authentication, workflows, and more. This backend project uses MongoDB for data storage and follows modular architecture with middleware for error handling and access control.\n\n## Features\n- User Management (Register, Login, Profile)\n\n- Authentication (JWT, Cookie-based)\n\n- Subscription Management\n\n- Workflow Management\n\n- Middleware-based route protection \u0026 error handling\n\n- Cookie parsing for session management\n\n- Postman collection for testing\n\n## Tech Stack\n\n- Node.js\n\n- Express.js\n\n- MongoDB (Mongoose)\n\n- JWT for Authentication\n\n- Cookie-Parser\n\n- Postman (for testing API)\n\n## Project Structure\n\nsubscription-tracker-api\n\n├── config/\n\n│   └── env.js\n\n├── database/\n\n│   └── mongodb.js\n\n├── middlewares/\n\n│   ├── arcject.middleware.js\n\n│   └── error.middleware.js\n\n├── routes/\n\n│   ├── auth.routes.js\n\n│   ├── user.routes.js\n\n│   ├── subscription.routes.js\n\n│   └── workflow.routes.js\n\n├── .env\n\n├── app.js\n\n├── package.json\n\n└── README.md\n\n\n## Installation\n```bash []\ngit clone https://github.com/your-username/subscription-tracker-api.git\ncd subscription-tracker-api\nnpm install\n```\n\n## Environment Variables (.env)\nCreate a .env file in the root directory with the following:\n```.env []\nPORT=5000\nMONGODB_URI=mongodb://localhost:27017/subscription_tracker\nJWT_SECRET=your_jwt_secret_key\nCOOKIE_SECRET=your_cookie_secret\n```\n## Running the Server\n```bash[]\nnpm run dev\n# or\nnode app.js\n```\nServer will start on:\n```\nhttp://localhost:5000\n```\n## API Testing (Postman)\nImport the collection above to Postman to test the API endpoints.\n\n     Click to download the Postman Collection in the above repository\n   \n## Endpoints Overview\n| Method | Route                   | Description             |\n| ------ | ----------------------- | ----------------------- |\n| POST   | `/api/v1/auth/register` | Register new user       |\n| POST   | `/api/v1/auth/login`    | User login              |\n| GET    | `/api/v1/users/me`      | Get logged-in user info |\n| POST   | `/api/v1/subscriptions` | Add new subscription    |\n| GET    | `/api/v1/subscriptions` | Get all subscriptions   |\n| POST   | `/api/v1/workflows`     | Create workflow         |\n| GET    | `/api/v1/workflows`     | View workflows          |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdines-04%2Fsubscription-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdines-04%2Fsubscription-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdines-04%2Fsubscription-tracker/lists"}