{"id":21382988,"url":"https://github.com/josecfreittas/exblog","last_synced_at":"2025-03-16T11:16:24.303Z","repository":{"id":131317672,"uuid":"395696221","full_name":"josecfreittas/exblog","owner":"josecfreittas","description":"Projeto fictício que provê uma API REST onde é possível fazer a criação de usuários e blogposts.","archived":false,"fork":false,"pushed_at":"2021-09-21T04:15:59.000Z","size":43,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-14T05:15:18.027Z","etag":null,"topics":["elixir","phoenix","phoenix-framework"],"latest_commit_sha":null,"homepage":"","language":"Elixir","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/josecfreittas.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":"2021-08-13T15:05:43.000Z","updated_at":"2022-01-26T03:46:16.000Z","dependencies_parsed_at":"2023-07-31T06:16:13.028Z","dependency_job_id":null,"html_url":"https://github.com/josecfreittas/exblog","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josecfreittas%2Fexblog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josecfreittas%2Fexblog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josecfreittas%2Fexblog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josecfreittas%2Fexblog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/josecfreittas","download_url":"https://codeload.github.com/josecfreittas/exblog/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243858066,"owners_count":20359269,"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":["elixir","phoenix","phoenix-framework"],"created_at":"2024-11-22T11:04:52.495Z","updated_at":"2025-03-16T11:16:24.271Z","avatar_url":"https://github.com/josecfreittas.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sobre o projeto\n\n**ExBlog** é um projeto fictício que provê uma API REST onde é possível fazer a criação de usuários e blogposts.\n\n## Tecnologias\n\n* [Elixir](https://elixir-lang.org)\n* [Phoenix framework](https://phoenixframework.org)\n* [PostgreSQL](https://www.postgresql.org)\n\n# Setup\n\n## Bancos de dados\n\nPara bancos de dados (desenvolvimento e testes), foi adicionada uma configuração para [Docker Compose](https://docs.docker.com/compose/install/), onde é possível iniciar as instâncias necessárias a partir do comando `docker-compose up -d`\n\n## Elixir e Phoenix\n\nO projeto foi desenvolvido e testado utilizando o [Erlang/OTP 24.0](https://www.erlang.org/downloads/24.0) e o [Elixir 1.12](https://elixir-lang.org/blog/2021/05/19/elixir-v1-12-0-released/). Se você usa o gerenciador de pacotes e versões [asdf](https://github.com/asdf-vm/asdf), é possível instalar as versões recomendadas de cada pacote através do comando `asdf install` no diretório raiz do projeto (onde se encontra o arquivo `.tool-versions`).\n\nSerá preciso fazer a instalação do Phoenix Framework para que o projeto possa ser executado. O passo a passo de como fazer a instalação pode ser encontrado [aqui](https://hexdocs.pm/phoenix/installation.html).\n\n## Configurações do projeto\n\nNo diretório `config/` será possível encontrar os arquivos `dev.exs` e `test.exs`, cada um contem as principais configurações para que o projeto possa ser executado em ambiente de desenvolvimento e de testes automáticos, respectivamente.\nEsses arquivos já estão inicialmente configurados para que o projeto rode corretamente em conjunto com a execução dos bancos de dados através da configuração de Docker Composer que acompanha o projeto.\n\n## Executando\n\nConsiderando uma configuração correta do ambiente, o projeto já poderá ser executado.\n\nMas antes, para fazer configuração e migração do banco de dados, é preciso executar o comando `mix ecto.setup`. Após isso, com o comando `mix phx.server` o servidor já será inicializado.\n\n## Testes automatizados\n\nO projeto vem com uma suíte de testes unitários e de integração. Para executar esses testes basta utilizar o comando `mix test`.\n\n## Testando a API\n\nO projeto acompanha um arquivo chamado `requests.http`. Esse arquivo contem a descrição de todas as endpoints que o projeto comporta, desde o fluxo de criação de contas e login, até criação, listagem e edição de postagens. É possível fazer requisições HTTP para as endpoints descritas utilizando à extensão [REST Client](https://marketplace.visualstudio.com/items?itemName=humao.rest-client) para o editor [VSCode](https://code.visualstudio.com).\n\nSe você preferir utilizar o [Postman](https://www.postman.com) ou o [Insomnia](https://insomnia.rest), você pode utilizar o arquivo `postman_collection.json` que também é disponibilizado no projeto.\n\nO token recebido pela endpoint `/users/login` deverá ser ser enviado via header para toda requisição que necessite de autenticação:  \n\u003e Authorization: Bearer `token`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosecfreittas%2Fexblog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjosecfreittas%2Fexblog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosecfreittas%2Fexblog/lists"}