{"id":26883050,"url":"https://github.com/karoldm/k-board-api","last_synced_at":"2026-05-08T09:33:34.123Z","repository":{"id":272685771,"uuid":"914595518","full_name":"karoldm/k-board-api","owner":"karoldm","description":"API to k-board project, a kanban board app to manage your tasks and projects","archived":false,"fork":false,"pushed_at":"2025-05-11T17:56:38.000Z","size":414,"stargazers_count":0,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-29T18:50:12.576Z","etag":null,"topics":["aws-s3","java","jpa-hibernate","rest-api","spring","spring-boot","spring-security","springdata-jpa","swagger"],"latest_commit_sha":null,"homepage":"https://k-board-api.onrender.com/swagger-ui/index.html","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/karoldm.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,"zenodo":null}},"created_at":"2025-01-09T22:53:36.000Z","updated_at":"2025-05-11T17:56:42.000Z","dependencies_parsed_at":"2025-01-16T02:24:07.217Z","dependency_job_id":"0f4014c4-0a7f-4c1e-a57d-4a495b0798df","html_url":"https://github.com/karoldm/k-board-api","commit_stats":null,"previous_names":["karoldm/k-board-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/karoldm/k-board-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karoldm%2Fk-board-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karoldm%2Fk-board-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karoldm%2Fk-board-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karoldm%2Fk-board-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karoldm","download_url":"https://codeload.github.com/karoldm/k-board-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karoldm%2Fk-board-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32774931,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"ssl_error","status_checked_at":"2026-05-08T08:22:45.650Z","response_time":54,"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":["aws-s3","java","jpa-hibernate","rest-api","spring","spring-boot","spring-security","springdata-jpa","swagger"],"created_at":"2025-03-31T16:56:43.275Z","updated_at":"2026-05-08T09:33:34.104Z","avatar_url":"https://github.com/karoldm.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [K-board API](https://k-board-api.onrender.com/swagger-ui/index.html)\n\nAPI de Gerenciamento de Projetos e Tarefas em um Quadro Kanban! Esta API foi desenvolvida utilizando Spring Boot e oferece funcionalidades para gerenciar projetos, tarefas e colaboração entre usuários em um ambiente de quadro Kanban.\n\n## Funcionalidades\n\n### Autenticação e Autorização\n- **Cadastro de Usuários**: Os usuários podem se cadastrar fornecendo informações básicas como nome, email, senha e foto de perfil.\n- **Login**: Autenticação segura utilizando Spring Security e JWT (JSON Web Tokens).\n\n### Gerenciamento de Perfil\n- **Atualizar Perfil**: Os usuários podem alterar foto e nome\n- **Atualizar Senha**: Os usuários pode trocar de senha\n\n### Gerenciamento de Projetos\n- **Criação de Projetos**: Usuários podem criar novos projetos.\n- **Convite de Membros**: O criador do projeto pode compartilhar o ID do projeto para que outros usuários possam se juntar como membros.\n- **Acompanhamento de Progresso**: A API permite acompanhar o progresso do projeto com base na quantidade de tarefas concluídas.\n\n### Gerenciamento de Tarefas\n- **Criação de Tarefas**: Membros do projeto podem criar tarefas.\n- **Movimentação de Tarefas**: As tarefas podem ser movidas entre diferentes estágios do quadro Kanban (ex: \"A Fazer\", \"Em Progresso\", \"Concluído\").\n\n### Documentação com Swagger\n- **Swagger UI**: A API está documentada utilizando Swagger, permitindo uma fácil visualização e teste dos endpoints diretamente no navegador.\n\n## Tecnologias e Ferramentas Utilizadas\n\n- **Spring Boot**: Framework principal para desenvolvimento da API.\n- **Spring Security**: Para autenticação e autorização.\n- **Spring Data JPA**: Para persistência de dados e interação com o banco de dados.\n- **AWS S3**: Para armazenamento de imagens.\n- **JWT (JSON Web Tokens)**: Para autenticação segura.\n- **Swagger**: Para documentação da API.\n- **Banco de Dados**: Foi utilizado um banco de dados relacional PostgreSQL para armazenar informações de usuários, projetos e tarefas.\n\n## Como Executar o Projeto\n\n### Pré-requisitos\n- Java 17\n- Maven\n- AWS S3 Bucket configurado\n- Banco de dados relacional configurado\n\n### Configuração\n\n1. **Clone o repositório**:\n   ```bash\n   git clone git@github.com:karoldm/k-board-api.git\n   cd k-board-api\n   ```\n\n2. **Configure o arquivo application.properties:**\n    ```bash\n   spring.application.name=k-board-api\n    \n    spring.datasource.url=jdbc:postgresql://localhost:5432/kboard\n    spring.datasource.username=username\n    spring.datasource.password=password\n    spring.jpa.hibernate.ddl-auto=update\n    spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true\n    spring.jpa.show-sql=true\n    \n    api.security.token.secret=jwt_token\n    api.aws.access-key=aws_access_key\n    api.aws.secret-key=aws_secret_key\n    api.aws.bucket-url=bucket_url\n    \n    spring.web.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/\n   ```\n3. **Excecute o projeto**\n   - A API estará disponível em http://localhost:8080.\n   - A documentação Swagger estará disponível em http://localhost:8080/swagger-ui.html.\n\n\n## Diagramas do Sistema\n\n### Casos de uso\n![Casos de uso](/doc/use-cases.jpg)\n\n### Modelagem\n![Modelagem](/doc/model.jpg)\n\n\n## Deploy\nAPI hospedada no [Render](https://render.com/)\n\nBanco de dados hospedado no [Koyeb](https://app.koyeb.com/)\n\n\n## Contribuição\nContribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull request ❤️\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaroldm%2Fk-board-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaroldm%2Fk-board-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaroldm%2Fk-board-api/lists"}