{"id":26956394,"url":"https://github.com/jefferson-gbarbosa/api-pass-in","last_synced_at":"2026-04-04T20:33:25.166Z","repository":{"id":233177314,"uuid":"785357900","full_name":"jefferson-gbarbosa/api-pass-in","owner":"jefferson-gbarbosa","description":"O pass.in é um aplicativo de gestão de participantes em eventos presenciais  que foi desenvolvido no NLW Unite da Rocketseat","archived":false,"fork":false,"pushed_at":"2024-04-13T20:43:00.000Z","size":54,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-02T20:27:58.708Z","etag":null,"topics":["cors","dayjs","fastify","nodejs","prisma","sqlite","typescript","zod"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/jefferson-gbarbosa.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}},"created_at":"2024-04-11T18:18:50.000Z","updated_at":"2024-04-14T19:54:57.000Z","dependencies_parsed_at":"2024-04-14T10:58:42.953Z","dependency_job_id":null,"html_url":"https://github.com/jefferson-gbarbosa/api-pass-in","commit_stats":null,"previous_names":["jefferson-gbarbosa/api-pass-in"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jefferson-gbarbosa/api-pass-in","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jefferson-gbarbosa%2Fapi-pass-in","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jefferson-gbarbosa%2Fapi-pass-in/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jefferson-gbarbosa%2Fapi-pass-in/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jefferson-gbarbosa%2Fapi-pass-in/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jefferson-gbarbosa","download_url":"https://codeload.github.com/jefferson-gbarbosa/api-pass-in/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jefferson-gbarbosa%2Fapi-pass-in/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31413269,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T20:09:54.854Z","status":"ssl_error","status_checked_at":"2026-04-04T20:09:44.350Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cors","dayjs","fastify","nodejs","prisma","sqlite","typescript","zod"],"created_at":"2025-04-03T03:29:48.661Z","updated_at":"2026-04-04T20:33:25.132Z","avatar_url":"https://github.com/jefferson-gbarbosa.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pass.in\n\nO pass.in é uma aplicação de **gestão de participantes em eventos presenciais**. \n\nA ferramenta permite que o organizador cadastre um evento e abra uma página pública de inscrição.\n\nOs participantes inscritos podem emitir uma credencial para check-in no dia do evento.\n\nO sistema fará um scan da credencial do participante para permitir a entrada no evento.\n\n## Requisitos\n\n### Requisitos funcionais\n\n- [x] O organizador deve poder cadastrar um novo evento;\n- [x] O organizador deve poder visualizar dados de um evento;\n- [x] O organizador deve poser visualizar a lista de participantes; \n- [x] O participante deve poder se inscrever em um evento;\n- [x] O participante deve poder visualizar seu crachá de inscrição;\n- [x] O participante deve poder realizar check-in no evento;\n\n### Regras de negócio\n\n- [x] O participante só pode se inscrever em um evento uma única vez;\n- [x] O participante só pode se inscrever em eventos com vagas disponíveis;\n- [x] O participante só pode realizar check-in em um evento uma única vez;\n\n### Requisitos não-funcionais\n\n- [x] O check-in no evento será realizado através de um QRCode;\n\n## Documentação da API (Swagger)\n\nPara documentação da API, acesse o link: https://nlw-unite-nodejs.onrender.com/docs\n\n## Banco de dados\n\nNessa aplicação vamos utilizar banco de dados relacional (SQL). Para ambiente de desenvolvimento seguiremos com o SQLite pela facilidade do ambiente.\n\n### Diagrama ERD\n\n\u003cimg src=\".github/erd.svg\" width=\"600\" alt=\"Diagrama ERD do banco de dados\" /\u003e\n\n### Estrutura do banco (SQL)\n\n```sql\n-- CreateTable\nCREATE TABLE \"events\" (\n    \"id\" TEXT NOT NULL PRIMARY KEY,\n    \"title\" TEXT NOT NULL,\n    \"details\" TEXT,\n    \"slug\" TEXT NOT NULL,\n    \"maximum_attendees\" INTEGER\n);\n\n-- CreateTable\nCREATE TABLE \"attendees\" (\n    \"id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,\n    \"name\" TEXT NOT NULL,\n    \"email\" TEXT NOT NULL,\n    \"event_id\" TEXT NOT NULL,\n    \"created_at\" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,\n    CONSTRAINT \"attendees_event_id_fkey\" FOREIGN KEY (\"event_id\") REFERENCES \"events\" (\"id\") ON DELETE RESTRICT ON UPDATE CASCADE\n);\n\n-- CreateTable\nCREATE TABLE \"check_ins\" (\n    \"id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,\n    \"created_at\" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,\n    \"attendeeId\" INTEGER NOT NULL,\n    CONSTRAINT \"check_ins_attendeeId_fkey\" FOREIGN KEY (\"attendeeId\") REFERENCES \"attendees\" (\"id\") ON DELETE RESTRICT ON UPDATE CASCADE\n);\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"events_slug_key\" ON \"events\"(\"slug\");\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"attendees_event_id_email_key\" ON \"attendees\"(\"event_id\", \"email\");\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"check_ins_attendeeId_key\" ON \"check_ins\"(\"attendeeId\");\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjefferson-gbarbosa%2Fapi-pass-in","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjefferson-gbarbosa%2Fapi-pass-in","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjefferson-gbarbosa%2Fapi-pass-in/lists"}