{"id":26664675,"url":"https://github.com/devdario/costsweb-backend","last_synced_at":"2026-05-07T09:35:44.446Z","repository":{"id":261382058,"uuid":"860400908","full_name":"DevDario/costsweb-backend","owner":"DevDario","description":"Backend Infrastructure for a Project's Management Platform","archived":false,"fork":false,"pushed_at":"2024-11-13T12:21:32.000Z","size":125,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-20T01:46:24.523Z","etag":null,"topics":["api","backend","backend-api","backend-infrastructure","costs-web","java","mysql","spring-boot","spring-data","spring-data-jpa"],"latest_commit_sha":null,"homepage":"https://github.com/DevDario/Costs-Web","language":"Java","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/DevDario.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-09-20T11:15:54.000Z","updated_at":"2025-03-05T03:36:27.000Z","dependencies_parsed_at":"2025-03-25T16:48:56.355Z","dependency_job_id":null,"html_url":"https://github.com/DevDario/costsweb-backend","commit_stats":null,"previous_names":["devdario/costsweb-backend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DevDario/costsweb-backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevDario%2Fcostsweb-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevDario%2Fcostsweb-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevDario%2Fcostsweb-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevDario%2Fcostsweb-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DevDario","download_url":"https://codeload.github.com/DevDario/costsweb-backend/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevDario%2Fcostsweb-backend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32731762,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["api","backend","backend-api","backend-infrastructure","costs-web","java","mysql","spring-boot","spring-data","spring-data-jpa"],"created_at":"2025-03-25T16:38:02.546Z","updated_at":"2026-05-07T09:35:44.413Z","avatar_url":"https://github.com/DevDario.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  CostsWeb Backend\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n \u003cimg src=\"https://img.shields.io/static/v1?label=Purpose\u0026message=Backend Infrastructure for a Frontend Project \u0026color=8257E5\u0026labelColor=000000\" alt=\"Desafio\" /\u003e\n\u003c/p\u003e\n\n\u003e Backend Infrastructure for [Costs-Web]([https://github.com/DevDario/Costs-Web) Project, A minimal **Project Manager System**\n\n## Technologies\n\n- [Spring Boot](https://spring.io/projects/spring-boot)\n- [Spring MVC](https://docs.spring.io/spring-framework/reference/web/webmvc.html)\n- [Spring Data JPA](https://spring.io/projects/spring-data-jpa)\n- [SpringDoc OpenAPI 3](https://springdoc.org/v2/#spring-webflux-support)\n- [Mysql](https://dev.mysql.com/downloads/)\n\n## Good Practices Applied\n\n- SOLID, DRY, YAGNI, KISS\n- API STATEFULL (using session-based authentication)\n- Queries With Spring Data JPA\n- DI(Dependency Injection)\n- Error Treatments\n- Automatic API docs Generation with Swagger OpenAPI 3\n\n## How to Run \n\n- First you need to clone this to your machine\n```bash\n  git clone https://github.com/DevDario/costsweb-backend\n```\n\n- Then access it\n```bash\n  cd costsweb-backend\n```\n\n- Now you can build the project:\n```bash\n$ ./mvnw clean package\n```\n- and then run it:\n```bash\n$ java -jar target/costswebapi-0.0.1-SNAPSHOT.jar\n```\n\nYou can access the API here: [localhost:8081](http://localhost:8081). \u003cbr\u003e\nAnd you can see Swagger running right here [localhost:8081/swagger-ui.html](http://localhost:8081/swagger-ui.html)\n\n## API Endpoints\n1. Operations(CRUD) with Projects\n2. Operations(CRUD) with Project Services\n\n### 1. Operations(CRUD) with Projects\n\n\u003e _Note: I've used [httpie](https://httpie.io) to perform the above requests in the CLI_\n\n- Create a new Project\n```bash\n$ http POST :8081/project/new name=\"project1\" budget=1000 usedBudget:0.0 category:\"DEVELOPMENT\" deadline:\"2024-10-14T00:00:00.000+00:00\"\n\n[\n  {\n    \"id\": 1,\n\t\"name\": \"project1\",\n\t\"budget\": 1000.0,\n\t\"usedBudget\": 0.0,\n\t\"category\": \"DEVELOPMENT\",\n\t\"createdAt\": \"2024-10-14T00:00:00.000+00:00\",\n\t\"deadline\": \"2024-10-20T00:00:00.000+00:00\",\n\t\"services\": []\n  }\n]\n```\n\n- List all Projects\n```bash\n$ http GET :8081/project/all\n\n[\n  {\n    \"id\": 1,\n\t\"name\": \"project1\",\n\t\"budget\": 1000.0,\n\t\"usedBudget\": 0.0,\n\t\"category\": \"DEVELOPMENT\",\n\t\"createdAt\": \"2024-10-14T00:00:00.000+00:00\",\n\t\"deadline\": \"2024-10-20T00:00:00.000+00:00\",\n\t\"services\": []\n  }\n]\n```\n\n- Update a Project\n```bash\n$ http PUT :8081/project/edit/1 name=\"project1\" budget=2000 usedBudget:0.0 category:\"PLANNING\" deadline:\"2024-10-14T00:00:00.000+00:00\"\n\n[\n  {\n    \"id\": 1,\n\t\"name\": \"project1\",\n\t\"budget\": 2000.0,\n\t\"usedBudget\": 0.0,\n\t\"category\": \"PLANNING\",\n\t\"createdAt\": \"2024-10-14T00:00:00.000+00:00\",\n\t\"deadline\": \"2024-10-20T00:00:00.000+00:00\",\n\t\"services\": []\n  }\n]\n\n```\n\n- Delete a Project\n```bash\nhttp DELETE :8081/project/del/1\n\n[ ]\n```\n\n### 2. Operations(CRUD) with Project Services\n\n- Add(Create) a new service to a project\n```bash\n$ http POST :8081/project/1/services/new name=\"design\" budget=\"500\"\n\n[\n  {\n    \"id\": 1,\n\t\"name\": \"project1\",\n\t\"budget\": 500.0,\n\t\"usedBudget\": 500.0,\n\t\"category\": \"DEVELOPMENT\",\n\t\"createdAt\": \"2024-10-14T00:00:00.000+00:00\",\n\t\"deadline\": \"2024-10-20T00:00:00.000+00:00\",\n\t\"services\": [\n\t    {\n\t        \"id\":1,\n\t        \"name\":\"design\",\n\t        \"budget\":500.0,\n\t        \"description\":\"\"\n\t    }\n\t]\n  }\n]\n```\n\n- List all services from a project\n```bash\n$ http GET :8081/project/1/service/services\n\n[\n    {\n\t    \"id\":1,\n\t    \"name\":\"design\",\n\t    \"budget\":500.0,\n\t    \"description\":\"\"\n\t}\n]\n```\n\n- List all services from all projects\n```bash\n$ http GET :8081/service/all\n\n[\n    {\n\t    \"id\":1,\n\t    \"name\":\"design\",\n\t    \"budget\":500.0,\n\t    \"description\":\"\"\n\t}\n]\n\n```\n\n- Delete a service from a project\n```bash\nhttp DELETE :8081/project/1/service/services/1\n\n[ ]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevdario%2Fcostsweb-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevdario%2Fcostsweb-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevdario%2Fcostsweb-backend/lists"}