{"id":15101725,"url":"https://github.com/mitulagr2/emi-calculator-be","last_synced_at":"2026-01-29T04:53:49.792Z","repository":{"id":256028769,"uuid":"853727542","full_name":"mitulagr2/emi-calculator-be","owner":"mitulagr2","description":"REST API for an EMI Calculator with Prepayment Option","archived":false,"fork":false,"pushed_at":"2024-09-09T00:25:59.000Z","size":449,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-10T21:43:31.463Z","etag":null,"topics":["bun","docker","express","postgresql","sequelize","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/mitulagr2.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}},"created_at":"2024-09-07T11:15:59.000Z","updated_at":"2024-09-09T04:41:03.000Z","dependencies_parsed_at":"2024-09-15T21:00:54.154Z","dependency_job_id":null,"html_url":"https://github.com/mitulagr2/emi-calculator-be","commit_stats":{"total_commits":5,"total_committers":1,"mean_commits":5.0,"dds":0.0,"last_synced_commit":"e77a152b69b21bd2d93c7b71abb7b2631ee1c2bd"},"previous_names":["mitulagr2/emi-calculator-be"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitulagr2%2Femi-calculator-be","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitulagr2%2Femi-calculator-be/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitulagr2%2Femi-calculator-be/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitulagr2%2Femi-calculator-be/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mitulagr2","download_url":"https://codeload.github.com/mitulagr2/emi-calculator-be/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247325696,"owners_count":20920714,"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":["bun","docker","express","postgresql","sequelize","typescript"],"created_at":"2024-09-25T18:29:05.772Z","updated_at":"2026-01-29T04:53:49.740Z","avatar_url":"https://github.com/mitulagr2.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# REST API for an EMI Calculator with Prepayment Option\n\nThe following shows an overview of the endpoints that will be exported:\n\n- GET `api/emis` get all EMIs\n![get_emis](https://github.com/mitulagr2/emi-calculator-be/blob/main/public/get_emis.png?raw=true)\n- GET `api/emi/:id` get EMI by id\n![get_emi_id](https://github.com/mitulagr2/emi-calculator-be/blob/main/public/get_emi_id.png?raw=true)\n- POST `api/calculate-emi` calculate and add new EMI\n![post_calculate_emi](https://github.com/mitulagr2/emi-calculator-be/blob/main/public/post_calculate_emi.png?raw=true)\n\n## Project structure\n\n```bash\n/src\n├── bin\n│   ├── formatEmi.ts        # Formats EMI record with month-wise breakdown\n│   └── IPMT.ts             # Calculates Interest per month\n├── config\n│   └── config.ts           # Sequelize configuration\n├── controllers\n│   ├── emi.ts              # EMI controller\n│   └── index.ts            # App controller\n├── index.ts                # Entry point\n├── models\n│   ├── emi.ts              # EMI Model\n│   └── index.ts            # App database setup\n├── routes\n│   └── index.ts            # Base router\n└── types\n    └── types.ts            # App database instance and response types\n```\n\n## Getting Started\n\nFollow the steps below to run this project locally. Refer to `.env.example` and add `.env`.\n\n1. Install Bun. Alternatively, you can update `startup.sh` to use the package manager of your choice.\n2. Install [Docker](https://www.docker.com/) and Docker Compose.\n3. Run `startup.sh`.\n4. (Optional) To populate the database during testing, run `populateTestDB.sh`.\n\n## Tech Stack\n\nThis project was built using Node v18.12.0 and uses the following technologies:\n\n- [Express](https://expressjs.com/) - Node.js framework\n- [TypeScript](https://www.typescriptlang.org/) - Language and transpiler\n- [PostgreSQL](https://www.postgresql.org/) - Database\n- [Sequelize](https://sequelize.org/) - Object relation manager\n- [Bun](https://bun.sh/) - Package management\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmitulagr2%2Femi-calculator-be","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmitulagr2%2Femi-calculator-be","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmitulagr2%2Femi-calculator-be/lists"}