{"id":24511864,"url":"https://github.com/halilomergurgan/financeapp","last_synced_at":"2025-03-15T10:09:10.782Z","repository":{"id":252527184,"uuid":"840690744","full_name":"halilomergurgan/financeApp","owner":"halilomergurgan","description":"Go Lang Finance App","archived":false,"fork":false,"pushed_at":"2024-08-10T20:14:00.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"Main","last_synced_at":"2025-03-15T10:09:07.836Z","etag":null,"topics":["golang","rest-api"],"latest_commit_sha":null,"homepage":"","language":"Go","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/halilomergurgan.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-08-10T11:43:16.000Z","updated_at":"2024-08-24T21:58:15.000Z","dependencies_parsed_at":"2024-08-10T14:02:08.174Z","dependency_job_id":"e3d56ce3-c43a-469c-b618-b2c96c6a8ec9","html_url":"https://github.com/halilomergurgan/financeApp","commit_stats":null,"previous_names":["halilomergurgan/go-financeapp","halilomergurgan/financeapp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halilomergurgan%2FfinanceApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halilomergurgan%2FfinanceApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halilomergurgan%2FfinanceApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halilomergurgan%2FfinanceApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/halilomergurgan","download_url":"https://codeload.github.com/halilomergurgan/financeApp/tar.gz/refs/heads/Main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243713416,"owners_count":20335567,"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":["golang","rest-api"],"created_at":"2025-01-22T00:42:52.480Z","updated_at":"2025-03-15T10:09:10.759Z","avatar_url":"https://github.com/halilomergurgan.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Personal Finance Management API\n\nThis is a simple personal finance management API built with Go. The API allows users to manage their finances by creating, updating, and deleting transactions and categories. User authentication is also implemented with password hashing.\n\n## Features\n\n- **User Management**: Users can be created with secure password hashing, and user details can be updated or deleted.\n- **Category Management**: Users can create, update, list, and delete categories for their transactions.\n- **Transaction Management**: Users can create, update, list, and delete financial transactions associated with specific categories.\n\n## Technologies Used\n\n- **Go**: The core language used for developing the API.\n- **Gorilla Mux**: Router for handling HTTP requests.\n- **MySQL**: Database for storing users, categories, and transactions.\n- **bcrypt**: For securely hashing user passwords.\n\n## Endpoints\n\n### User Endpoints\n\n- **POST /users**: Create a new user with password confirmation and secure password hashing.\n- **GET /users**: List all users.\n- **GET /users/{id}**: Get details of a specific user by ID.\n- **PUT /users/{id}**: Update user details.\n- **DELETE /users/{id}**: Delete a user by ID.\n\n### Category Endpoints\n\n- **POST /categories**: Create a new category.\n- **GET /categories**: List all categories.\n- **GET /categories/{id}**: Get details of a specific category by ID.\n- **PUT /categories/{id}**: Update category details.\n- **DELETE /categories/{id}**: Delete a category by ID.\n\n### Transaction Endpoints\n\n- **POST /transactions**: Create a new transaction.\n- **GET /transactions**: List all transactions.\n- **GET /transactions/{id}**: Get details of a specific transaction by ID.\n- **PUT /transactions/{id}**: Update transaction details.\n- **DELETE /transactions/{id}**: Delete a transaction by ID.\n\n## Setup\n\n### Prerequisites\n\n- Go 1.16 or later\n- MySQL\n\n### Installation\n\n1. **Clone the repository**:\n    ```bash\n    git clone https://github.com/halilomergurgan/go-financeApp.git\n    cd go-financeApp\n    ```\n\n2. **Install dependencies**:\n    ```bash\n    go mod tidy\n    ```\n\n3. **Set up MySQL**:\n    - Create a database named `financeApp`.\n    - Update the database credentials in `main.go` (DSN string).\n\n4. **Run the application**:\n    ```bash\n    go run main.go\n    ```\n\n5. **Test with Postman**:\n    - Use the provided endpoints to interact with the API.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Contributing\n\nFeel free to submit issues and pull requests.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhalilomergurgan%2Ffinanceapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhalilomergurgan%2Ffinanceapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhalilomergurgan%2Ffinanceapp/lists"}