Initial commit of Dance School App

This commit is contained in:
kertenkerem
2026-01-08 00:51:13 +03:00
parent 902fb6e9bb
commit 260dea0713
48 changed files with 7923 additions and 1 deletions

BIN
prisma/dev.db Normal file

Binary file not shown.

81
prisma/schema.prisma Normal file
View File

@@ -0,0 +1,81 @@
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "sqlite"
url = env("DATABASE_URL")
}
model User {
id String @id @default(uuid())
username String @unique
password String
createdAt DateTime @default(now())
}
model Branch {
id String @id @default(uuid())
name String
address String?
phone String?
instructors Instructor[] // Implicit many-to-many
classes DanceClass[]
lessons Lesson[]
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Instructor {
id String @id @default(uuid())
name String
bio String?
phone String?
branches Branch[] // Implicit many-to-many
classes DanceClass[]
lessons Lesson[]
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model DanceClass {
id String @id @default(uuid())
name String
description String?
branchId String
branch Branch @relation(fields: [branchId], references: [id])
instructorId String?
instructor Instructor? @relation(fields: [instructorId], references: [id])
lessons Lesson[]
fees Fee[]
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Lesson {
id String @id @default(uuid())
name String? // Optional name e.g. "Special Workshop"
startTime DateTime
endTime DateTime
type String // GROUP, PRIVATE
branchId String
branch Branch @relation(fields: [branchId], references: [id])
instructorId String
instructor Instructor @relation(fields: [instructorId], references: [id])
classId String?
class DanceClass? @relation(fields: [classId], references: [id])
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Fee {
id String @id @default(uuid())
name String
amount Float
currency String @default("TRY")
type String // MONTHLY, PER_LESSON, PACKAGE
classId String?
class DanceClass? @relation(fields: [classId], references: [id])
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}