Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ build/
!**/src/test/**/build/

### IntelliJ IDEA ###
./.idea
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
Expand Down
8 changes: 8 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions .idea/.name

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 18 additions & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

124 changes: 124 additions & 0 deletions .idea/uiDesigner.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

66 changes: 66 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
plugins {
id 'java'
id 'application'
}

group = 'org.lab'
version = '1.0-SNAPSHOT'


repositories {
mavenCentral()
}

dependencies {


testImplementation platform('org.junit:junit-bom:5.10.0')
testImplementation 'org.junit.jupiter:junit-jupiter'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}

application {

mainClass = 'Main'

applicationDefaultJvmArgs = [
'-Dfile.encoding=UTF-8',
'-Dsun.stdout.encoding=UTF-8',
'-Dsun.stderr.encoding=UTF-8',
'-Dconsole.encoding=UTF-8',
]
}

java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}

tasks.withType(JavaCompile).configureEach {
options.compilerArgs += ['-Xlint:preview', '--enable-preview']
}

tasks.withType(JavaExec).configureEach {
jvmArgs += '--enable-preview'
}

tasks.withType(Test).configureEach {
jvmArgs += '--enable-preview'
}

test {
useJUnitPlatform()
}

tasks.withType(JavaExec).configureEach {
jvmArgs += [
'-Dfile.encoding=UTF-8',
'-Dsun.stdout.encoding=UTF-8',
'-Dsun.stderr.encoding=UTF-8',
'--enable-preview'
]

// Для Windows консоли
systemProperty 'file.encoding', 'UTF-8'
}
20 changes: 0 additions & 20 deletions build.gradle.kts

This file was deleted.

File renamed without changes.
115 changes: 114 additions & 1 deletion src/main/java/org/lab/Main.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,117 @@


import org.lab.model.milestone.MilestoneStatus;
import org.lab.model.project.Project;
import org.lab.model.report.Report;
import org.lab.model.ticket.Ticket;
import org.lab.model.user.User;
import org.lab.service.UserService;



import java.time.LocalDate;

void main() {
IO.println("Hello and welcome!");

UserService userService = new UserService();
User manager = userService.registerUser("Manager");



Project project1 = new Project(manager, "Valhalla");


User developer1 = userService.registerUser("Developer1");
User developer2 = userService.registerUser("Developer2");
User developer3 = userService.registerUser("Developer3");

User qa1 = userService.registerUser("QA1");
User qa2 = userService.registerUser("QA2");
User qa3 = userService.registerUser("QA3");

User teamLead = userService.registerUser("TeamLead");



project1.attachTeamLead(manager, teamLead);

project1.attachDeveloper(manager, developer1);
project1.attachDeveloper(manager, developer2);
project1.attachDeveloper(manager, developer3);

project1.attachQa(manager, qa1);
project1.attachQa(manager, qa2);
project1.attachQa(manager, qa3);


project1.attachMilestone(manager, LocalDate.now(), LocalDate.now().plusDays(15));
project1.changeMilestoneStatus(manager, MilestoneStatus.ACTIVE);

Ticket ticket1 = project1.addTicket(manager, "Ticket1");
Ticket ticket2 = project1.addTicket(manager, "Ticket2");
Ticket ticket3 = project1.addTicket(teamLead, "Ticket3");

System.out.println(project1.getStats());


ticket1.addDeveloper(manager, developer1);
ticket2.addDeveloper(manager, developer2);
ticket3.addDeveloper(teamLead, developer3);

ticket1.activeTicket(developer1);
ticket2.activeTicket(developer2);
ticket3.activeTicket(developer3);

ticket1.finishTicket(developer1);
ticket2.finishTicket(developer2);
ticket3.finishTicket(developer3);



Report report1 = project1.addReport(qa1, developer1, "bug-report1");
Report report2 = project1.addReport(qa2, developer2, "bug-report2");
Report report3 = project1.addReport(qa3, developer3, "bug-report3");

report1.fixedReport(developer1);
report2.fixedReport(developer2);
report3.fixedReport(developer3);

report1.checkReport(qa1);
report2.checkReport(qa2);
report3.checkReport(qa3);

report1.closeReport(qa1);
report2.closeReport(qa2);
report3.closeReport(qa3);



manager.viewAllProjects();
teamLead.viewAllProjects();
developer1.viewAllProjects();
developer2.viewAllProjects();
developer3.viewAllProjects();
qa1.viewAllProjects();
qa2.viewAllProjects();
qa3.viewAllProjects();

manager.viewAllTasks();
teamLead.viewAllTasks();
developer1.viewAllTasks();
developer2.viewAllTasks();
developer3.viewAllTasks();
qa1.viewAllTasks();
qa2.viewAllTasks();
qa3.viewAllTasks();

developer1.viewAllReport();
developer2.viewAllReport();
developer3.viewAllReport();



project1.changeMilestoneStatus(manager, MilestoneStatus.CLOSE);
System.out.println(project1.getMilestones());

}

Loading