{"id":13619208,"url":"https://github.com/nafiesl/dompet","last_synced_at":"2025-08-20T07:13:56.182Z","repository":{"id":45483637,"uuid":"134344783","full_name":"nafiesl/dompet","owner":"nafiesl","description":"A personal bookkeeping web application, built with Laravel.","archived":false,"fork":false,"pushed_at":"2025-01-07T02:46:42.000Z","size":2582,"stargazers_count":151,"open_issues_count":1,"forks_count":75,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-08-19T06:04:13.566Z","etag":null,"topics":["bookkeeping","hacktoberfest","laravel","tdd","tdd-workflow"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/nafiesl.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},"funding":{"custom":["https://www.buymeacoffee.com/nafiesl","https://www.paypal.me/nafiesl","https://trakteer.id/nafiesl"]}},"created_at":"2018-05-22T01:38:49.000Z","updated_at":"2025-08-06T19:29:01.000Z","dependencies_parsed_at":"2025-01-31T17:35:03.877Z","dependency_job_id":"9aeb1808-d108-4ee6-bd56-2534f7b5d7cd","html_url":"https://github.com/nafiesl/dompet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nafiesl/dompet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nafiesl%2Fdompet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nafiesl%2Fdompet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nafiesl%2Fdompet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nafiesl%2Fdompet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nafiesl","download_url":"https://codeload.github.com/nafiesl/dompet/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nafiesl%2Fdompet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271281092,"owners_count":24732129,"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","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["bookkeeping","hacktoberfest","laravel","tdd","tdd-workflow"],"created_at":"2024-08-01T21:00:36.187Z","updated_at":"2025-08-20T07:13:56.139Z","avatar_url":"https://github.com/nafiesl.png","language":"PHP","funding_links":["https://www.buymeacoffee.com/nafiesl","https://www.paypal.me/nafiesl","https://trakteer.id/nafiesl"],"categories":["D"],"sub_categories":[],"readme":"# Dompet\n\n[![Build Status](https://travis-ci.org/nafiesl/dompet.svg?branch=master)](https://travis-ci.org/nafiesl/dompet)\n[![Coverage Status](https://coveralls.io/repos/github/nafiesl/dompet/badge.svg?branch=master)](https://coveralls.io/github/nafiesl/dompet?branch=master)\n\nDompet is a personal bookkeeping web application, built with Laravel 5.\n\n## Objective\nEasy bookkeeping for personal income and spending (amount of money).\n\n## Concept\n\nTo aquire our objective, we need this features on the application:\n\n- User can register.\n- User can see transaction history by date of their own.\n- User add transactions for income and spending.\n- User can categorize the transaction.\n- User can see transaction summary on each month or a year.\n- `-` sign on numbers indicates **spending/outcome** transaction.\n\nThose are basic concept of the personal bookkeeping service.\n\n## Getting Started\nThis application can be installed on local server and online server with these specifications :\n\n#### Server Requirements\n1. PHP \u003e=7.3 (and meet [Laravel 8.x server requirements](https://laravel.com/docs/8.x/deployment#server-requirements)),\n2. MySQL or MariaDB database,\n3. SQlite (for automated testing).\n\n#### Installation Steps\n\n1. Clone the repo : `git clone https://github.com/nafiesl/dompet.git`\n2. `$ cd dompet`\n3. `$ composer install`\n4. `$ cp .env.example .env`\n5. `$ php artisan key:generate`\n6. Create new MySQL database for this application  \n(with simple command: `$ mysqladmin -urootuser -p create dompet_db`)\n7. Set database credentials on `.env` file\n8. `$ php artisan migrate`\n9. `$ php artisan serve`\n10. Register new account.\n\n#### Laravel Passport Setup for REST API\n\n1. Run `php artisan passport:install`, we will get this output.\n\n```\nEncryption keys generated successfully.\nPersonal access client created successfully.\nClient ID: 1\nClient secret: XQIkbQxxxxxasQHt9YU\nPassword grant client created successfully.\nClient ID: 2\nClient secret: IWzI2DvXDxxxxb1kIH\n```\n\n2. Set the `Password grant client` on our `.env`.\n\n```\nPASSPORT_CLIENT_ID=2\nPASSPORT_CLIENT_SECRET=IWzI2DvXDxxxxb1kIH\n```\n\n3. Run the web server `php artisan serve`.\n\n```\nStarting Laravel development server: http://127.0.0.1:8000\n```\n\n4. Login to the API endpoint using our REST API client (like Postman).\n\n```\ncurl -X POST \\\n  http://127.0.0.1:8000/api/auth/login \\\n  -H 'Accept: application/json' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n    \"email\": \"admin@example.net\",\n    \"password\": \"password\"\n}'\n```\n\n5. We will get this response:\n\n```\n{\n    \"token_type\": \"Bearer\",\n    \"expires_in\": 31536000,\n    \"access_token\": \"eyJ0eXAiOxxxx2XJEbA\",\n    \"refresh_token\": \"def5020xxxx58b21\"\n}\n```\n\n6. Use the `access_token` value as the bearer authorization header.\n\n```\ncurl -X GET \\\n  http://127.0.0.1:8000/api/transactions?year=2018\u0026month=09 \\\n  -H 'Accept: application/json' \\\n  -H 'Authorization: Bearer eyJ0eXAiOxxxx2XJEbA'\n```\n\nResponse:\n\n```\n{\n  \"data\": [],\n  \"stats\": {\n    \"start_balance\": \"0.00\",\n    \"income_total\": \"0.00\",\n    \"spending_total\": \"0.00\",\n    \"difference\": \"0.00\",\n    \"end_balance\": \"0.00\"\n  }\n}\n```\n\n## Contributing\n\nIf you are considering to contribute to this repo. It is really nice.\n\n1. Submit Issue if you found any errors or bugs or if you want to propose new feature.\n2. Pull Request for bugfix, typo on labels, or new feature.\n\n## Screenshots\n\n#### Transaction List on a Month\n\n![Dompet Monthly Transaction List](public/screenshots/01-monthly-transaction-list.jpg)\n\n#### Transaction List on Selected Date\n\n![Dompet Daily Transaction List](public/screenshots/02-daily-transaction-list.jpg)\n\n#### Transaction Summary Report\n\n![Dompet Daily Transaction List](public/screenshots/03-transaction-summary-report.jpg)\n\n## License\n\nDompet project is a free and open-sourced software under [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnafiesl%2Fdompet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnafiesl%2Fdompet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnafiesl%2Fdompet/lists"}