{"id":25890728,"url":"https://github.com/ivanm4rtin5/dtmoney-backend","last_synced_at":"2025-07-18T02:34:50.687Z","repository":{"id":274570244,"uuid":"922131352","full_name":"IvanM4rtin5/DtMoney-BackEnd","owner":"IvanM4rtin5","description":"Backend com o DB Postegres  , rodando no render","archived":false,"fork":false,"pushed_at":"2025-04-29T01:27:04.000Z","size":24718,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-29T02:43:30.233Z","etag":null,"topics":["api-restful","backend","pm2","postegresql"],"latest_commit_sha":null,"homepage":"https://dtmoney-financial-app.netlify.app/","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/IvanM4rtin5.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-01-25T12:00:29.000Z","updated_at":"2025-04-29T01:27:08.000Z","dependencies_parsed_at":"2025-04-29T02:32:22.075Z","dependency_job_id":"71aafad4-28d3-4b5f-961e-e8f4bcd85abd","html_url":"https://github.com/IvanM4rtin5/DtMoney-BackEnd","commit_stats":null,"previous_names":["ivanm4rtin5/dtmoney-backend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/IvanM4rtin5/DtMoney-BackEnd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IvanM4rtin5%2FDtMoney-BackEnd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IvanM4rtin5%2FDtMoney-BackEnd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IvanM4rtin5%2FDtMoney-BackEnd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IvanM4rtin5%2FDtMoney-BackEnd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IvanM4rtin5","download_url":"https://codeload.github.com/IvanM4rtin5/DtMoney-BackEnd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IvanM4rtin5%2FDtMoney-BackEnd/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265692418,"owners_count":23812199,"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":["api-restful","backend","pm2","postegresql"],"created_at":"2025-03-02T19:28:37.314Z","updated_at":"2025-07-18T02:34:50.661Z","avatar_url":"https://github.com/IvanM4rtin5.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Transaction Management API\nThis project is a financial transaction management API, built with **Node.js**, **Express** and **Prisma**. It allows users to register, log in, create, read, update and delete transactions.\n\n[![Node.js](https://img.shields.io/badge/Node.js-18.13.0-339933?logo=node.js)](https://nodejs.org/)\n[![Express](https://img.shields.io/badge/Express-4.18.2-000000?logo=express)](https://expressjs.com/)\n[![Prisma](https://img.shields.io/badge/Prisma-4.16.2-2D3748?logo=prisma)](https://www.prisma.io/)\n[![JWT](https://img.shields.io/badge/JWT-8.5.1-000000?logo=json-web-tokens)](https://jwt.io/)\n[![PostgreSQL](https://img.shields.io/badge/PostgreSQL-13.0-336791?logo=postgresql)](https://www.postgresql.org/)\n\n---\n\n##   Features\n\n- **User Authentication:**\n- Register new users.\n- Login of existing users with JWT token generation.\n\n- **Transaction Management:**\n- Create new transactions.\n- List all user transactions.\n- View a specific transaction.\n- Update an existing transaction.\n- Delete a transaction.\n\n---\n\n## 🛠️ Technologies Used\n\u003cdiv align=\"left\"\u003e \u003cimg src=\"https://img.shields.io/badge/Node.js-339933?logo=node.js\u0026logoColor=white\" alt=\"Node.js\" /\u003e \u003cimg src=\"https://img.shields.io/badge/Express-000000?logo=express\u0026logoColor=white\" alt=\"Express\" /\u003e \u003cimg src=\"https://img.shields.io/badge/Prisma-2D3748?logo=prisma\u0026logoColor=white\" alt=\"Prisma\" /\u003e \u003cimg src=\"https://img.shields.io/badge/JWT-000000?logo=json-web-tokens\u0026logoColor=white\" alt=\"JWT\" /\u003e \u003cimg src=\"https://img.shields.io/badge/PostgreSQL-336791?logo=postgresql\u0026logoColor=white\" alt=\"PostgreSQL\" /\u003e \u003cimg src=\"https://img.shields.io/badge/bcryptjs-4.3.0-000000?logo=bcrypt\" alt=\"bcryptjs\" /\u003e \u003cimg src=\"https://img.shields.io/badge/dotenv-16.0.3-000000?logo=dotenv\" alt=\"dotenv\" /\u003e \u003cimg src=\"https://img.shields.io/badge/cors-2.8.5-000000?logo=cors\" alt=\"cors\" /\u003e \u003c/div\u003e\n\n## 🚀 How to Execute the Project\nRequisites\nMake sure you have **Node.js** installed on your machine. You can check the installed version with the command:\n\n```bash\nnode -v\n```\n**Database**: Make sure you have a database configured (e.g. PostgreSQL, MySQL, etc.).\n\nSetup Steps\nClone the repository:\n\n```bash\ngit clone https://github.com/IvanM4rtin5/DtMoney-BackEnd.git\n```\nGo into your folder:\n```\ncd your-repository\n```\nInstall the dependencies:\n\n```bash\nnpm install\n```\nSet up the environment variables:\n\nCreate a .env file in the root of the project and set up the necessary environment variables, such as the database connection and the secret key for the JWT.\n\n```env\nDATABASE_URL=\"postgresql://user:password@localhost:5432/dbname\"\nJWT_SECRET=\"your_jwt_secret\"\n```\nRun Prisma migrations:\n```bash\nnpx prisma migrate dev --name init\n```\nStart the server:\n\n```bash\nnpm start\n```\nThe server will be running at http://localhost:3000.\n\n## 📂 Project Structure\n```Copy\nprisma/\n├── migrations/     # Database migrations\n├── dev.db          # SQLite database (if applicable)\n└── schema.prisma   # Prisma schema\nsrc/\n├── assets/         # Images and other resources\n├── config/         # Project settings\n│ ├── auth.js       # Authentication settings\n│ └── prismaClient.js # Prisma Client settings\n├── controllers/    # Route controllers\n│ ├── UserController.js # User controller\n│ └── TransactionController.js # Transaction controller\n├── middleware/     # Middlewares\n│ └── auth.js       # Authentication middleware\n├── models/         # Data models\n│ ├── Transaction.js  # Transaction model\n│ └── User.js       # User model\n├── routes/         # API routes\n│ ├── auth.routes.js # Authentication routes\n│ ├── index.js      # Route entry point\n│ └── transaction.routes.js # Transaction routes\n├── services/       # Business services\n│ └── TransactionService.js # Transaction service\n├── utils/          # Utilities\n│ └── errors.js     # Error handling errors\n└── server.js       # Application entry point\n.gitignore          # Files ignored by Git\nREADME.md           # Project documentation\npackage-lock.json   # Dependency versions\npackage.json        # Project dependencies\n```\n## 🔗 Related Links\n\n- Project Frontend: [DT Money - Frontend](https://github.com/IvanM4rtin5/DtMoney-Frontend)\n\n## 💡 My Effort and Dedication\nThis project was developed with a lot of effort and dedication, seeking to demonstrate my skills as a FullStack developer. Some of the challenges I faced and overcame include:\n\nDatabase Integration: Setting up and using Prisma to manage the database.\n\nSecure Authentication: Implementing JWT authentication with bcrypt for password encryption.\n\nTransaction Management: Creating a robust API to manage financial transactions.\n\nI believe this project reflects my ability to work with modern technologies and deliver high-quality solutions.\n\n## 📧 Contact\nIf you have any questions or want to get in touch, feel free to send me a message:\n\n**Name**: Ivan Martins\n\n**Email**: ivanmarti.alves@gmail.com\n\n**LinkedIn**: [https://www.linkedin.com/in/ivan-martins-alves/]\n\n### ⭐ Project Images\nHere are some images that illustrate how the project works:\n\n### ⭐ Testing on Insomnia\n![Image](https://github.com/IvanM4rtin5/DtMoney-BackEnd/blob/main/src/assets/image/Insomnia%2030_01_2025%2012_21_11.png)\n\n### ⭐ Testing on Insomnia\n![Image](https://github.com/IvanM4rtin5/DtMoney-BackEnd/blob/main/src/assets/image/Insomnia%2030_01_2025%2012_21_49.png)\n\n### ⭐ Database in Beekeeper\n![Image](https://github.com/IvanM4rtin5/DtMoney-BackEnd/blob/main/src/assets/image/dev.db%20-%20Beekeeper%20Studio%2030_01_2025%2012_26_59.png)\n\n---\n\nThanks for checking out my project! I hope it showcases my skills and my commitment to excellence in software development. 😊\n\n---\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivanm4rtin5%2Fdtmoney-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fivanm4rtin5%2Fdtmoney-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivanm4rtin5%2Fdtmoney-backend/lists"}