https://github.com/nadiduno/passincsharp
Pass In NWL - Rockeseat - C Sharp
https://github.com/nadiduno/passincsharp
backend crud csharp entity-framework framework get orm post sql swagger
Last synced: 7 months ago
JSON representation
Pass In NWL - Rockeseat - C Sharp
- Host: GitHub
- URL: https://github.com/nadiduno/passincsharp
- Owner: nadiduno
- Created: 2024-04-02T19:06:13.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-07T23:26:29.000Z (almost 2 years ago)
- Last Synced: 2025-01-27T16:11:17.104Z (about 1 year ago)
- Topics: backend, crud, csharp, entity-framework, framework, get, orm, post, sql, swagger
- Language: C#
- Homepage:
- Size: 79.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://portfolio-nadi.vercel.app/)
[](https://twitter.com/nadiduno)
[](https://www.linkedin.com/in/nadiduno/)
#PassIn
Aplicação back-end em C# com .NET documentação da API com Swagger

[C#](https://learn.microsoft.com/pt-br/dotnet/csharp/language-reference/language-specification/documentation-comments) | [SQLite](https://www.sqlite.org/) | [Swagger](https://swagger.io/) | [Entity Framework](https://learn.microsoft.com/en-us/ef/core/)
#Requisitos
##Requisitos funcionais
O organizador deve poder cadastrar um novo evento;
O organizador deve poder visualizar dados de um evento;
O organizador deve poser visualizar a lista de participantes;
O participante deve poder se inscrever em um evento;
O participante deve poder visualizar seu crachá de inscrição;
O participante deve poder realizar check-in no evento;
##Regras de negócio
O participante só pode se inscrever em um evento uma única vez;
O participante só pode se inscrever em eventos com vagas disponíveis;
O participante só pode realizar check-in em um evento uma única vez;
##Requisitos não-funcionais
O check-in no evento será realizado através de um QRCode;
## Banco de dados
Nessa aplicação vamos utilizar banco de dados relacional (SQL). Para ambiente de desenvolvimento seguiremos com o SQLite pela facilidade do ambiente.
##Documentação da API (Swagger)
```
-- CreateTable
CREATE TABLE "events" (
"id" TEXT NOT NULL PRIMARY KEY,
"title" TEXT NOT NULL,
"details" TEXT,
"slug" TEXT NOT NULL,
"maximum_attendees" INTEGER
);
-- CreateTable
CREATE TABLE "attendees" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"name" TEXT NOT NULL,
"email" TEXT NOT NULL,
"event_id" TEXT NOT NULL,
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "attendees_event_id_fkey" FOREIGN KEY ("event_id") REFERENCES "events" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
);
-- CreateTable
CREATE TABLE "check_ins" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"attendeeId" INTEGER NOT NULL,
CONSTRAINT "check_ins_attendeeId_fkey" FOREIGN KEY ("attendeeId") REFERENCES "attendees" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
);
-- CreateIndex
CREATE UNIQUE INDEX "events_slug_key" ON "events"("slug");
-- CreateIndex
CREATE UNIQUE INDEX "attendees_event_id_email_key" ON "attendees"("event_id", "email");
-- CreateIndex
CREATE UNIQUE INDEX "check_ins_attendeeId_key" ON "check_ins"("attendeeId");
````
By DevRel 💜 [Nadi Duno](https://www.linkedin.com/in/nadiduno/) © 2024
Este é meu [Diario de estudo](https://devrelnadiduno.blogspot.com/)
[Link do Potfólio](https://portfolionadiduno.vercel.app/)