{"id":21390875,"url":"https://github.com/nathsagar96/cashcard","last_synced_at":"2026-06-22T02:31:53.417Z","repository":{"id":250651054,"uuid":"835031205","full_name":"nathsagar96/cashcard","owner":"nathsagar96","description":"CashCard API - A Spring Academy Project","archived":false,"fork":false,"pushed_at":"2024-08-11T04:05:58.000Z","size":76,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-16T17:35:33.408Z","etag":null,"topics":["h2-database","rest-api","spring-boot","spring-data-jdbc","spring-security"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nathsagar96.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":"2024-07-29T02:46:28.000Z","updated_at":"2024-08-11T04:06:01.000Z","dependencies_parsed_at":"2024-08-11T05:29:27.526Z","dependency_job_id":null,"html_url":"https://github.com/nathsagar96/cashcard","commit_stats":null,"previous_names":["nathsagar96/cashcard"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nathsagar96/cashcard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathsagar96%2Fcashcard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathsagar96%2Fcashcard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathsagar96%2Fcashcard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathsagar96%2Fcashcard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nathsagar96","download_url":"https://codeload.github.com/nathsagar96/cashcard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathsagar96%2Fcashcard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34632544,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-22T02:00:06.391Z","response_time":106,"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":["h2-database","rest-api","spring-boot","spring-data-jdbc","spring-security"],"created_at":"2024-11-22T13:20:12.322Z","updated_at":"2026-06-22T02:31:53.393Z","avatar_url":"https://github.com/nathsagar96.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CashCard API\n\nThis project provides a RESTful API for managing cash cards, allowing users to create, retrieve, update, and delete cash\ncards associated with their account.\n\n## Features\n\n- **Create Cash Card:** Create a new cash card.\n- **Retrieve Cash Card:** Retrieve a specific cash card by ID.\n- **List Cash Cards:** List all cash cards for the authenticated user with pagination.\n- **Update Cash Card:** Update the details of an existing cash card.\n- **Delete Cash Card:** Delete a specific cash card by ID.\n\n## Getting Started\n\n### Prerequisites\n\n- Java 17 or higher\n- Gradle\n- Spring Boot\n\n### Installation\n\n1. **Clone the repository:**\n   ```bash\n   git clone https://github.com/nathsagar96/cashcard.git\n   cd cashcard\n   ```\n\n2. **Build the project:**\n   ```bash\n   ./gradlew build\n   ```\n\n3. **Run the application:**\n   ```bash\n   ./gradlew bootRun\n   ```\n\n### Usage\n\nOnce the application is running, you can interact with the API using tools like `curl` or Postman.\n\n#### Endpoints\n\n1. **Create a Cash Card**\n\n    - **URL:** `/cashcards`\n    - **Method:** `POST`\n    - **Request Body:**\n      ```json\n      {\n        \"amount\": 100.0\n      }\n      ```\n    - **Response:** `201 Created`\n\n2. **Retrieve a Cash Card**\n\n    - **URL:** `/cashcards/{id}`\n    - **Method:** `GET`\n    - **Response:** `200 OK` with cash card details or `404 Not Found`\n\n3. **List All Cash Cards**\n\n    - **URL:** `/cashcards`\n    - **Method:** `GET`\n    - **Parameters:**\n        - `page`: Page number (default is 0)\n        - `size`: Page size (default is 20)\n        - `sort`: Sorting criteria (e.g., `amount,asc`)\n    - **Response:** `200 OK` with a list of cash cards\n\n4. **Update a Cash Card**\n\n    - **URL:** `/cashcards/{id}`\n    - **Method:** `PUT`\n    - **Request Body:**\n      ```json\n      {\n        \"amount\": 150.0\n      }\n      ```\n    - **Response:** `204 No Content` or `404 Not Found`\n\n5. **Delete a Cash Card**\n\n    - **URL:** `/cashcards/{id}`\n    - **Method:** `DELETE`\n    - **Response:** `204 No Content` or `404 Not Found`\n\n### Security\n\nThe API uses Spring Security to authenticate users. Each cash card is associated with the authenticated user. Ensure you\nhave configured your security settings appropriately.\n\n### Data Model\n\nThe CashCard entity consists of the following fields:\n\n- `id`: Unique identifier for the cash card (generated automatically).\n- `amount`: The amount of money in the cash card.\n- `owner`: The username of the owner of the cash card.\n\n### Example\n\nTo create a new cash card:\n\n```bash\ncurl -X POST http://localhost:8080/cashcards \\\n     -H \"Content-Type: application/json\" \\\n     -d '{\"amount\": 100.0}' \\\n     -u username:password\n```\n\nTo list all cash cards for the authenticated user:\n\n```bash\ncurl -X GET http://localhost:8080/cashcards \\\n     -u username:password\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnathsagar96%2Fcashcard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnathsagar96%2Fcashcard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnathsagar96%2Fcashcard/lists"}