{"id":18679557,"url":"https://github.com/leogregianin/boox_api","last_synced_at":"2025-11-07T13:30:52.410Z","repository":{"id":44768514,"uuid":"452093226","full_name":"leogregianin/boox_api","owner":"leogregianin","description":"Open Bookstore REST API with Elixir and Phoenix","archived":false,"fork":false,"pushed_at":"2022-01-26T01:35:35.000Z","size":59,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-12-27T21:43:26.593Z","etag":null,"topics":["api-rest","elixir","elixir-phoenix"],"latest_commit_sha":null,"homepage":"https://boox-api.gigalixirapp.com/api/books/","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leogregianin.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}},"created_at":"2022-01-26T00:49:16.000Z","updated_at":"2022-01-28T21:51:34.000Z","dependencies_parsed_at":"2022-09-11T04:20:50.265Z","dependency_job_id":null,"html_url":"https://github.com/leogregianin/boox_api","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/leogregianin%2Fboox_api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leogregianin%2Fboox_api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leogregianin%2Fboox_api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leogregianin%2Fboox_api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leogregianin","download_url":"https://codeload.github.com/leogregianin/boox_api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239531689,"owners_count":19654534,"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","elixir","elixir-phoenix"],"created_at":"2024-11-07T09:45:09.014Z","updated_at":"2025-02-18T18:46:25.788Z","avatar_url":"https://github.com/leogregianin.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BooxApi\n\nOpen Bookstore REST API with Elixir and Phoenix\n\n## Endpoints\n\n  * Base URL: `https://boox-api.gigalixirapp.com/api`\n  * GET `/books`\n  * GET `/books/:id`\n  * POST `/books`\n  * PUT `/books/:id`\n  * DELETE `/books/:id`\n  * PATCH `/books/:id`\n\n  * Examples:\n      ```\n      {\n        \"book\": {\n          \"title\": \"Python Fluente\",\n          \"isbn\": \"978-85-7522-462-5\",\n          \"price\": 50.51,\n          \"description\": \"Programação clara, concisa e eficaz\",\n          \"authors\": [\n            \"Luciano Ramalho\"\n          ]\n        }\n      }\n      ```\n\n## Step by step\n\n  * Install Erlang VM and Elixir\n  * Install Phoenix Framework `mix archive.install hex phx_new`\n  * Create new project `mix phx.new boox_api --no-html --binary-id`\n  * Build Postgres container `docker run -d -p 5432:5432 -e POSTGRES_PASSWORD=boox_api -e POSTGRES_USER=boox_api --name postgrex postgres:alpine`\n  * Edit config/dev.exs e config/test.exs for database connection\n  * Run `mix ecto.create` for create `dev` database\n  * Change `export MIX_ENV=test`\n  * Run `mix ecto.create` for create `test` database\n  * Create books schema: `mix phx.gen.context Store Book books title:string isbn:text:unique description:text price:float authors:array:string`\n  * Running Migrations: `mix ecto.migrate`\n  * Generate JSON endpoint: `mix phx.gen.json Store Book books title:string isbn:text:unique description:text price:float authors:array:string --no-context --no-schema`\n  * Running tests: `mix test`\n  * Running server: `mix phx.server`\n\n## Local\n\nTo start your Phoenix server:\n\n  * Install dependencies with `mix deps.get`\n  * Create and migrate your database with `mix ecto.setup`\n  * Start Phoenix endpoint with `mix phx.server` or inside IEx with `iex -S mix phx.server`\n\nNow you can visit [`localhost:4000`](http://localhost:4000) from your browser.\n\n## Deploy\n\n  * [Gigalixir deployment](https://gigalixir.readthedocs.io/en/latest/getting-started-guide.html)\n  * API URL: `https://boox-api.gigalixirapp.com/api/books`\n\n## License\n\n  * BooxApi is licensed under the [MIT license](LICENSE).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleogregianin%2Fboox_api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleogregianin%2Fboox_api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleogregianin%2Fboox_api/lists"}