{"id":27629391,"url":"https://github.com/henriquejdc/goldenraspberryawardsapi","last_synced_at":"2026-04-29T15:40:18.793Z","repository":{"id":289369687,"uuid":"971027563","full_name":"henriquejdc/GoldenRaspberryAwardsAPI","owner":"henriquejdc","description":"Golden Raspberry Awards API using CSV","archived":false,"fork":false,"pushed_at":"2025-04-22T23:00:45.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-23T15:16:46.946Z","etag":null,"topics":["csv-parser","fastapi","makefile","python3","sqlalchemy"],"latest_commit_sha":null,"homepage":"","language":"Python","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/henriquejdc.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-04-22T22:47:59.000Z","updated_at":"2025-04-22T23:00:48.000Z","dependencies_parsed_at":"2025-04-22T23:35:38.373Z","dependency_job_id":"0da80bc9-cae7-4de0-b960-a6ee35c1a1c8","html_url":"https://github.com/henriquejdc/GoldenRaspberryAwardsAPI","commit_stats":null,"previous_names":["henriquejdc/goldenraspberryawardsapi"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriquejdc%2FGoldenRaspberryAwardsAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriquejdc%2FGoldenRaspberryAwardsAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriquejdc%2FGoldenRaspberryAwardsAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriquejdc%2FGoldenRaspberryAwardsAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/henriquejdc","download_url":"https://codeload.github.com/henriquejdc/GoldenRaspberryAwardsAPI/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250457784,"owners_count":21433734,"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":["csv-parser","fastapi","makefile","python3","sqlalchemy"],"created_at":"2025-04-23T15:16:50.925Z","updated_at":"2026-04-29T15:40:18.749Z","avatar_url":"https://github.com/henriquejdc.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Golden Raspberry Awards API\n\n## Descrição\nAPI RESTful com FastAPI e SQLAlchemy que lê um CSV de filmes premiados ao iniciar e calcula os produtores indicados \ncom maior e menor intervalo entre prêmios consecutivos.\n\n## Requisitos\n- Python 3.8+\n- `virtualenv` ou python `venv`\n\n## Setup do ambiente e execução\n\n### Via Makefile\n- `make help`       - Lista todos os comandos disponíveis\n- `make install`    - Cria o ambiente virtual e instala as dependências\n- `make test`       - Executa os testes com pytest\n- `make run`        - Inicia a aplicação com Uvicorn\n\n### Via Comandos Manuais\n\n#### Criando o ambiente virtual\n\n```\nvirtualenv venv # ou python -m venv venv\nsource venv/bin/activate  # Linux/Mac\nvenv\\Scripts\\activate  # Windows\n```\n\n### Rodando a aplicação\n\n```\npip install -r requirements.txt\nENV=prod PYTHONPATH=. uvicorn app.main:app --reload\n```\n\n### Rodando os testes\n\n```\nENV=test PYTHONPATH=. pytest tests\n```\n\n## Documentação\n\n### Estrutura do projeto\n\n```\napp/\n    data/\n        test/movielist.csv -\u003e CSV de exemplo para testes de integração/unitários\n        movielist.csv -\u003e CSV que será processado ao rodar aplicação (Substituia esse arquivo para testes manuais)\n    database.py -\u003e Conexão com o banco de dados SQLite/SQLAlchemy\n    main.py -\u003e Inicialização da aplicação FastAPI\n    models.py -\u003e Modelos de dados (SQLAlchemy)\n    service.py -\u003e CRUD para manipulação dos dados\n    utils.py -\u003e Funções utilitárias de load do .csv na inicialização\ntests/\n    test_awards.py\n```\n\n### Swagger\n\nAcesse o Swagger em `http://localhost:8000/docs` para visualizar a documentação da API.\n\n\n### Endpoints\n\n- `GET /awards/intervals`: Retorna produtores indicados com maior e menor intervalo entre prêmios consecutivos.\n\n### Exemplo de saída\n\n```json\n{\n  \"min\": [\n    {\n      \"producer\": \"Joel Silver\",\n      \"interval\": 1,\n      \"previousWin\": 1990,\n      \"followingWin\": 1991\n    }\n  ],\n  \"max\": [\n    {\n      \"producer\": \"Matthew Vaughn\",\n      \"interval\": 13,\n      \"previousWin\": 2002,\n      \"followingWin\": 2015\n    }\n  ]\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhenriquejdc%2Fgoldenraspberryawardsapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhenriquejdc%2Fgoldenraspberryawardsapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhenriquejdc%2Fgoldenraspberryawardsapi/lists"}