{"id":22456004,"url":"https://github.com/gbrlcustodio/grumpy-cat","last_synced_at":"2025-03-27T13:22:24.413Z","repository":{"id":37692545,"uuid":"179995709","full_name":"gbrlcustodio/grumpy-cat","owner":"gbrlcustodio","description":"Trustvox challenge of creating a complaints analitics platform","archived":false,"fork":false,"pushed_at":"2022-12-03T05:48:42.000Z","size":2325,"stargazers_count":0,"open_issues_count":14,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-01T17:44:03.986Z","etag":null,"topics":["challenge","elixir","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/gbrlcustodio.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}},"created_at":"2019-04-07T16:55:45.000Z","updated_at":"2020-03-24T15:03:37.000Z","dependencies_parsed_at":"2023-01-23T04:16:24.769Z","dependency_job_id":null,"html_url":"https://github.com/gbrlcustodio/grumpy-cat","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/gbrlcustodio%2Fgrumpy-cat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbrlcustodio%2Fgrumpy-cat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbrlcustodio%2Fgrumpy-cat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbrlcustodio%2Fgrumpy-cat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gbrlcustodio","download_url":"https://codeload.github.com/gbrlcustodio/grumpy-cat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245850522,"owners_count":20682670,"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":["challenge","elixir","phoenix-framework"],"created_at":"2024-12-06T07:14:06.040Z","updated_at":"2025-03-27T13:22:24.385Z","avatar_url":"https://github.com/gbrlcustodio.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Backend Engineer Challenge #\n\n### Setup ###\n\nClone this repo and follows bellow.\n\n#### Requirements\n\n- Postgres\n- Elixir with Phoenix\n- ReactJS\n\n#### Using docker\nYou could use docker compose to setup the entire environment\n\n```sh\n$ docker-compose build\n$ docker-compose run --rm backend mix ecto.setup \u0026\u0026  mix run priv/repo/seeds.exs // Creates database and insert sample data\n$ docker-compose up -d\n```\n\n#### Without docker\nIf you want to run it without docker, setup its pieces individually:\n\n##### database\nIt uses a [postgres](https://www.postgresql.org/) database, follows the setup for your OS.\n\n##### backend\nThe backend is made with elixir and phoenix framework. In order to properly setup an enviroment, run:\n```sh\n$ cd backend\n$ mix deps.get\n$ mix ecto.setup\n$ mix run priv/repo/seeds.exs\n$ mix phx.server\n```\n\n##### frontend\nFrontend is made with react. To setup it, run:\n```sh\n$ cd frontend\n$ npm install\n$ npm run dev\n```\n\n### Getting started\nOnce you setup your environment, you'll be able to access it via [localhost:3000](http://localhost:3000), and access the API will be available at [localhost:4000](http://localhost:4000). You can interact with it through the react application or using the API directly.\n\n### Documentation\nDocs are available via ex_doc, run `mix docs` in project's root and it will be available via `doc/index.html`.\n\n### Problem ###\n\nWe need to research about locales where consumer complains are made. That complains should have at least the attributes described bellow:\n\n - Title\n - Description\n - Locale\n - Company\n\nCan you provide some services to ingest complains and get some data about its geolocation? For example, to find how many complains a specific company has in specific city?\n\n\n### Recommendations ###\n - Use Restful instead Rest\n - Use microservice design if possible\n - Use a NoSql Database (if you use a database in your purpose)\n - We need to scale your services, decouple your modules if possible\n - Use devops mindset\n - Use Ruby or Elixir language and patterns\n\n### Definition Of Done ###\n - A repository with read access to michel@reclameaqui.com.br, cleyton@trustvox.com.br, weslley@trustvox.com.br( feel free to choose your provider )\n - Documented, clean and testable/tested code\n - Documented strategy to deploy and run your code ( on cloud if possible )\n\n### Questions? ###\n - Email me : cleyton@trustvox.com.br\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgbrlcustodio%2Fgrumpy-cat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgbrlcustodio%2Fgrumpy-cat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgbrlcustodio%2Fgrumpy-cat/lists"}