{"id":15173973,"url":"https://github.com/larads/nlw-unite-nodejs","last_synced_at":"2026-01-24T08:06:29.959Z","repository":{"id":253021734,"uuid":"841761628","full_name":"larads/nlw-unite-nodejs","owner":"larads","description":"Back-end em Node.js desenvolvido durante o NLW Unite da Rocketseat","archived":false,"fork":false,"pushed_at":"2024-08-13T22:22:48.000Z","size":71,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-30T14:54:02.817Z","etag":null,"topics":["fastify","nodejs","prisma","rest-api","typescript"],"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/larads.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":"2024-08-13T01:58:52.000Z","updated_at":"2024-08-13T22:24:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"42263e47-9c43-47e2-a827-4cf4fc907989","html_url":"https://github.com/larads/nlw-unite-nodejs","commit_stats":{"total_commits":5,"total_committers":1,"mean_commits":5.0,"dds":0.0,"last_synced_commit":"0a02e0f7c54eeb45f953f5c9edfe31450854d3bf"},"previous_names":["larads/nlw-unite-nodejs"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/larads/nlw-unite-nodejs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/larads%2Fnlw-unite-nodejs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/larads%2Fnlw-unite-nodejs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/larads%2Fnlw-unite-nodejs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/larads%2Fnlw-unite-nodejs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/larads","download_url":"https://codeload.github.com/larads/nlw-unite-nodejs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/larads%2Fnlw-unite-nodejs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28720453,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T05:53:42.649Z","status":"ssl_error","status_checked_at":"2026-01-24T05:53:41.698Z","response_time":89,"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":["fastify","nodejs","prisma","rest-api","typescript"],"created_at":"2024-09-27T11:22:08.649Z","updated_at":"2026-01-24T08:06:29.944Z","avatar_url":"https://github.com/larads.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%2Flarads%2Fnlw-unite-nodejs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flarads%2Fnlw-unite-nodejs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flarads%2Fnlw-unite-nodejs/lists"}