{"id":20804876,"url":"https://github.com/didaquis/didibudget-backend","last_synced_at":"2026-04-22T11:08:07.198Z","repository":{"id":37552037,"uuid":"229328983","full_name":"didaquis/didibudget-backend","owner":"didaquis","description":"Home Economics Management Application","archived":false,"fork":false,"pushed_at":"2024-11-26T18:26:58.000Z","size":1762,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-11T03:47:27.012Z","etag":null,"topics":["money-manager"],"latest_commit_sha":null,"homepage":"","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/didaquis.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}},"created_at":"2019-12-20T20:05:16.000Z","updated_at":"2024-11-26T18:26:57.000Z","dependencies_parsed_at":"2023-11-13T22:25:16.366Z","dependency_job_id":"d05cec3a-deab-4578-8740-9640bb5a447a","html_url":"https://github.com/didaquis/didibudget-backend","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/didaquis%2Fdidibudget-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/didaquis%2Fdidibudget-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/didaquis%2Fdidibudget-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/didaquis%2Fdidibudget-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/didaquis","download_url":"https://codeload.github.com/didaquis/didibudget-backend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243149443,"owners_count":20244193,"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":["money-manager"],"created_at":"2024-11-17T19:12:15.694Z","updated_at":"2025-12-25T11:51:19.742Z","avatar_url":"https://github.com/didaquis.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 💰 didibudget-backend\n\nThis is an app to manage your money.\nThe project is splitted on two repositories: one for the backend and one for the frontend application. \n\nThis repository is for the backend and is intended to work with [the frontend](https://github.com/didaquis/didibudget-frontend)\n\n### 📝 Backend Requirements\n* MongoDB 8.0 or higher\n* Node.js 18.20 or higher\n\n### 📚 How to run the application?\n* Use the command: `npm install`. If you are deploying the app in production, it's better to use this command: `npm install --production`\n* Configure the application:\n  * Duplicate the configuration file `_env` and rename it as `.env`\n  * Edit the file `.env`\n* Then use: `npm run start`. \n* That's it! That was fast enough, right? 🚀\n\n**Do you need help with `.env` file?** \n\nDon't worry, I have written down some information for you. Here you have a guide:\n\n| Key | Description |\n|-----|-------------|\n| PORT | The port for running the backend |\n| ENVIRONMENT | The mode of execution of Node.js. Choose between: production or development |\n| LIMIT_USERS_REGISTERED | Maximum number of users allowed to register. Set the value to 0 to not use the limit |\n| MONGO_FORMAT_CONNECTION | The format of connection with MongoDB service. Choose between: standard or DNSseedlist |\n| MONGO_HOST | Set this value only if you are using the standard connection format. Host of MongoDB service |\n| MONGO_PORT | Set this value only if you are using the standard connection format. Port of MongoDB service |\n| MONGO_DB | Set this value only if you are using the standard connection format. The name of database |\n| MONGO_USER | Set this value only if you are using the standard connection format. User name |\n| MONGO_PASS | Set this value only if you are using the standard connection format. User password |\n| MONGO_DNS_SEEDLIST_CONNECTION | Set this value only if you are using the DNSseedlist connection format. It should be something like this: mongodb+srv://user:password@uri-and-options |\n| SECRET | JWT secret key. Remember not to share this key for security reasons |\n| DURATION | JWT duration of auth token |\n\n**How can I configure a user to be an administrator?** \n\nTo make a user an administrator you must access to the database and search its registry. You will see a Boolean who allows the user to have the role of the administrator. Set it to 'true' and in their next authentication that user will have administrator permissions.\n\n### 💻 Tricks for development\n* Run app in dev mode: `npm run dev`\n* Run the linter: `npm run lint`\n* Delete all log files: `npm run clean`\n* Run the test, mode watch: `npm run test:watch`\n\n### How to add default expenses categories?\nTo add new expense categories or subcategories, you must create a totally random and unique `inmutableKey`. \n\nUse this snippet to obtain a new value:\n```javascript\nimport crypto from 'crypto';\n\nconst randomValue = () =\u003e {\n\tconst numberOfBytes = 10;\n\treturn crypto.randomBytes(numberOfBytes).toString('hex');\n};\n\nrandomValue();\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdidaquis%2Fdidibudget-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdidaquis%2Fdidibudget-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdidaquis%2Fdidibudget-backend/lists"}