2.1 KiB
2.1 KiB
Конкурсы, проекты и заявки
classDiagram
direction BT
class Organizator {
<<interface>>
id: pk
type: Organization | Volunteers
title: string
}
class Contest {
id: pk
status: ContestStatus
title: string
logo: string
description: string
totalBudget: number
receiptStartedAt: number
receiptEndedAt: number
ratingStartedAt?: number
ratingEndedAt?: number
publicResultsAt: number
workStartedAt: number
workEndedAt: number
createdAt: number
updatedAt: number
org: Organizator
}
Contest "*" --* "1" Organizator
class Activity {
id: pk
title: string
parent?: Activity
}
Activity "*" --* "1" Contest
Activity "1" --* "0..1" Activity
class Project {
id: pk
title: string
contest: Contest
activity: Activity
org: Organizator
leader: ProjectParticipant
description: string
}
Project "*" --* "1" Organizator
Project "*" --* "1" Contest
Project "*" --o "1" Activity
class OrgParticipant {
id: pk
org: Organizator
fio
roleTitle: string
}
OrgParticipant "*" --* "1" Organizator
class ProjectParticipant {
id: pk
project: Project
fio
roleTitle: string
}
ProjectParticipant "*" --* "1" Project
class Event {
id: pk
status: EventStatus
project: Project
title: string
logo
description: string
startsOn: Date
endsOn: Date
createdAt: timestamp
updatedAt: timestamp
}
Event "*" --* "1" Project
class News {
id
status: EventStatus
project: Project
title: string
logo
description: string
date: Date
createdAt: timestamp
updatedAt: timestamp
}
News "*" --* "1" Project
- Заявка превращается в конкурс (предположительно) после апрува модератором