{"id":18153204,"url":"https://github.com/soupaulodev/blogspot-api","last_synced_at":"2025-04-07T00:52:20.992Z","repository":{"id":260516066,"uuid":"881514875","full_name":"soupaulodev/blogspot-api","owner":"soupaulodev","description":"BlogSpot é uma API RESTful em Java com Spring para gerenciar posts e usuários em uma plataforma de blogs. Permite registro, autenticação, e a criação, edição e exclusão de posts e comentários. Utiliza JWT para segurança e Spring Data JPA para persistência, oferecendo uma experiência robusta para desenvolvedores.","archived":false,"fork":false,"pushed_at":"2024-10-31T19:11:42.000Z","size":34,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-31T19:25:00.579Z","etag":null,"topics":["api-rest","backend","java","spring"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/soupaulodev.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-10-31T18:17:02.000Z","updated_at":"2024-10-31T19:11:46.000Z","dependencies_parsed_at":"2024-10-31T19:25:09.649Z","dependency_job_id":"c00221f4-911f-4a21-9cdb-30f036a5d03e","html_url":"https://github.com/soupaulodev/blogspot-api","commit_stats":null,"previous_names":["soupaulodev/blogspot-api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soupaulodev%2Fblogspot-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soupaulodev%2Fblogspot-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soupaulodev%2Fblogspot-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soupaulodev%2Fblogspot-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/soupaulodev","download_url":"https://codeload.github.com/soupaulodev/blogspot-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230589631,"owners_count":18249771,"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":["api-rest","backend","java","spring"],"created_at":"2024-11-02T03:06:01.440Z","updated_at":"2024-12-20T12:44:40.619Z","avatar_url":"https://github.com/soupaulodev.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Cover](./.github/cover.png)\n# API RESTful BlogSpot\n![](https://github.com/soupaulodev/blogspot-api/actions/workflows/maven-tests.yml/badge.svg)\n## Visão Geral\n**BlogSpot** é uma API RESTful robusta e escalável projetada para gerenciar posts e usuários em uma plataforma de blogs e artigos. Esta API permite que os usuários criem, editem, visualizem e excluam posts, além de gerenciar perfis de usuários. Com base nas melhores práticas de design RESTful, o BlogSpot proporciona uma experiência de desenvolvimento intuitiva e eficiente.\n\n## Funcionalidades Principais\n\n### Gerenciamento de Usuários\n- **Cadastro**: Registro de novos usuários na plataforma.\n- **Autenticação**: Sistema de login seguro utilizando JSON Web Tokens (JWT).\n- **Perfil do Usuário**: Visualização e edição das informações de perfil do usuário.\n\n### Gerenciamento de Posts\n- **Criação de Post**: Usuários autenticados podem criar posts com título, conteúdo, resumo e categorias.\n- **Edição de Post**: Autores podem editar posts existentes.\n- **Exclusão de Post**: Possibilidade de remoção de posts pelos usuários.\n- **Listagem de Posts**: Endpoints para listar todos os posts ou filtrar por autor e categorias.\n- **Detalhes do Post**: Visualização completa dos detalhes de um post específico, incluindo comentários.\n\n### Comentários\n- **Curtir Posts**: Usuários podem curtir posts.\n- **Obter número de likes**: Visualização de número de curtidas de um post.\n  \n### Comentários\n- **Adicionar Comentário**: Usuários podem adicionar comentários a posts.\n- **Listar Comentários**: Visualização de todos os comentários associados a um post.\n\n## Estrutura da API\n- **Base URL**: `/api/v1`\n\n### Endpoints Principais\n#### Usuários\n- `POST /users` - Cadastro de novos usuários.\n- `POST /users/login` - Login de usuários.\n- `GET /users/{id}` - Obter detalhes do usuário.\n- `PUT /users/{id}` - Atualizar informações do usuário.\n\n#### Posts\n- `POST /posts` - Criar um novo post.\n- `GET /posts` - Listar todos os posts.\n- `GET /posts/{id}` - Obter detalhes de um post específico.\n- `PUT /posts/{id}` - Atualizar um post existente.\n- `DELETE /posts/{id}` - Excluir um post.\n\n#### Comentários\n- `POST /posts/{postId}/likes` - Curtir um post.\n- `GET /posts/{postId}/likes` - Obter quantidade de likes de um post.\n  \n#### Comentários\n- `POST /posts/{postId}/comments` - Adicionar um comentário a um post.\n- `GET /posts/{postId}/comments` - Listar comentários de um post.\n\n## Tecnologias Utilizadas\n- **Backend**: Java com Spring Boot\n- **Persistência**: Spring Data JPA com um banco de dados relacional (ex: PostgreSQL)\n- **Autenticação**: JSON Web Tokens (JWT)\n- **Documentação**: Swagger para documentação da API\n\n## Instruções de Execução do Ambiente\n\n### Requisitos\n- **Java 21**: Certifique-se de que o Java 21 esteja instalado em seu sistema. Você pode verificar a instalação executando:\n```bash\njava -version\n```\n- **Docker**: Certifique-se de que o Docker esteja instalado e em execução. Você pode verificar a instalação executando:\n```bash\ndocker --version\n```\n### Executando a API Localmente\n1. Clone o Repositório\n```bash\ngit clone https://github.com/seu-usuario/blogspot.git\ncd blogspot\n```\n\n2. Compilar o Projeto\n```bash\n./mvnw clean install\n```\n3. Executar a Aplicação\n```bash\n./mvnw spring-boot:run\n```\n\n### Executando com Docker\n1. Construir a Imagem Docker\n```bash\ndocker build -t blogspot .\n```\n\n2. Executar o Contêiner\n```bash\ndocker run -p 8080:8080 blogspot\n```\n3. Agora a API estará disponível em http://localhost:8080/api/v1.\n\n## Considerações Finais\nA API BlogSpot foi desenvolvida com foco em segurança e desempenho, proporcionando uma base sólida para a construção de plataformas de blogs modernas. É projetada para ser extensível e fácil de usar, permitindo que desenvolvedores integrem funcionalidades de gerenciamento de conteúdo em suas aplicações de maneira rápida e eficaz.\n\n## Contribuições\nContribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests.\n\n## Licença\nEsta API é licenciada sob a [GNU General Public License v2.0](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoupaulodev%2Fblogspot-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoupaulodev%2Fblogspot-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoupaulodev%2Fblogspot-api/lists"}