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
3 changes: 3 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.

5 changes: 5 additions & 0 deletions .idea/misc.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.

38 changes: 32 additions & 6 deletions src/main/java/Account.java
Original file line number Diff line number Diff line change
@@ -1,24 +1,50 @@
import java.util.UUID;

public class Account {
public class Account implements AccountManagement {
private String username;
// TODO: Passwords should hashed
private String password;
private UUID accountID;

public static String hashingPassword(String pass){
long hashmod = 527733233;
long hashmabna = 701;
long ans = 0 ;
long power = 1;
for(int i = 0 ; i < pass.length() ; i++){
int save = pass.charAt(i) - '0';
ans = (ans + ( power * save ) ) % hashmod;
power = (power * hashmabna ) % hashmod ;
}
return String.valueOf(ans);
}
public Account(String username , String password ){
this.username = username ;
this.password =hashingPassword (password) ;
this.accountID = UUID.randomUUID();
}

@Override
public boolean validatePassword(String enteredPassword) {
//TODO
return false;
return hashingPassword(enteredPassword).equals(this.password);
}

@Override
public void changeUsername(String newUsername) {
//TODO

this.username = newUsername;
}

@Override
public void changePassword(String newPassword) {
//TODO
this.password = hashingPassword(newPassword) ;
}
public String getUsername () {
return username;
}
public UUID getAccountID(){
return accountID;
}
public void SignUp(String pass) {
this.password = hashingPassword(pass);
}
}
2 changes: 1 addition & 1 deletion src/main/java/AccountManagement.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
public interface AccountManagement {
public interface AccountManagement {
public boolean validatePassword(String enteredPassword);
public void changeUsername(String newUsername);
public void changePassword(String newPassword);
Expand Down
53 changes: 53 additions & 0 deletions src/main/java/Assistant.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Scanner;

public class Assistant extends Account {
static List<Course> allCourses = new ArrayList<>();
static List<Teacher> teachersIswaiting = new ArrayList<>();
public Assistant(String username, String password) {
super(username, password);
}
public void getCoursesAndStudents(List<Course> allCourses) {
for (int i = 0; i < allCourses.size(); i++){
System.out.println(allCourses.get(i).getCourseName() + " :");
System.out.println("\t" + allCourses.get(i).getStudents());
}
}
public void addCourse(Course c) {
allCourses.add(c);
}
public void makeCourse(String courseName, String details) {
Teacher teacher = new Teacher("", "");
Course c = new Course(teacher, courseName, details);
addCourse(c);
}
public static List<String> getCoursesName() {
List<String> coursesName = new ArrayList<>();
for (int i = 0; i < allCourses.size(); i++) {
coursesName.add(allCourses.get(i).getCourseName());
}
return coursesName;
}
public void getProfile() {
System.out.println();
}
public void teacherRegister() {
Scanner in = new Scanner(System.in);
for (int i = 0; i < teachersIswaiting.size(); i++) {
System.out.print(teachersIswaiting.get(i).getUsername() + ", ");
}
System.out.print("\nEnter teachers name for register: ");
String teacherName = in.next();
Teacher teacherTarget = new Teacher("", "");
for (int i = 0; i < teachersIswaiting.size(); i++) {
Teacher teacher = teachersIswaiting.get(i);
if (teacher.getUsername().equals(teacherName)) {
teacher.signUp();
teacherTarget = teacher;
}
}
teachersIswaiting.remove(teacherTarget);
}
}
46 changes: 46 additions & 0 deletions src/main/java/Course.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;

public class Course {
private UUID courseID;
Teacher courseTeacher;
private String teacherName;
private String courseName;
private String details;
List<String> students;
static HashMap<String,Double> studentScore = new HashMap<>();
public Teacher getCourseTeacher() {
return courseTeacher;
}
public String getDetails() {
return details;
}
public Course(Teacher courseTeacher, String courseName, String details) {
this.courseTeacher = courseTeacher;
this.courseName = courseName;
this.details = details;
this.courseID = UUID.randomUUID();
this.students = new ArrayList<>();
}

public void addStudent(String student) {
this.students.add(student);
}
public List<String> getStudents() {
return students;
}
public void changeTeacher(Teacher courseTeacher) {
this.courseTeacher = courseTeacher;
}
public String getCourseName() {
return courseName;
}
public void scoring(String studentName, Double score) {
studentScore.put(studentName, score);
}
public UUID getCourseID() {
return courseID;
}
}
84 changes: 75 additions & 9 deletions src/main/java/Hogwarts.java
Original file line number Diff line number Diff line change
@@ -1,19 +1,85 @@
public class Hogwarts {
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.UUID;

// TODO: Define Attributes
public class Hogwarts {

static List<Assistant> Assistants = new ArrayList<>();
static List<Student> Students = new ArrayList<>();
static List<Teacher> Teachers = new ArrayList<>();
static List<Course> Courses = new ArrayList<>();
public static void addAssistant(Assistant assistant) {
Assistants.add(assistant);
}
public void addStudent(Student student) {
Students.add(student);
}
public void addTeacher(Teacher teacher) {
Teachers.add(teacher);
}
public void addCourse(Course courseName) {
Courses.add(courseName);
}

public void courseReq(Teacher teacher, Course courseName) {
if (courseName.getCourseTeacher().getUsername().equals("")) {
courseName.courseTeacher.changeUsername(teacher.getUsername());
}
else {
System.out.println("access denied");
}
}

// TODO: Define Functionalities
public void viewAllTeachers() {
//TODO
public static void viewAllTeachers() {
for (int i = 0; i < Teachers.size(); i++) {
System.out.print(Teachers.get(i).getUsername() + " - ");
}
}

public void viewAllStudents() {
//TODO
public static void viewAllStudents() {
for (int i = 0; i < Students.size(); i++) {
System.out.print(Students.get(i).getUsername() + " - ");
}
}

public void viewAllCourses() {
//TODO
for (int i = 0; i < Courses.size(); i++) {
System.out.print(Courses.get(i).getCourseName() + " - ");
}
}
public static void courseRequest(Teacher teacher) {
Scanner in = new Scanner(System.in);
for (int i = 0; i < Courses.size(); i++) {
if (Courses.get(i).courseTeacher.getUsername().equals("")) {
System.out.println(Courses.get(i).getCourseName() + " " + Courses.get(i).getCourseID() + " details: " + Hogwarts.Courses.get(i).getDetails());
}
}
System.out.print("enter UUID for get course: ");
String input2 = in.next();
for (int i = 0; i < Hogwarts.Courses.size(); i++) {
if (!Courses.get(i).courseTeacher.getUsername().equals("") && Courses.get(i).getCourseID().toString().equals(input2)) {
System.out.println("access denied!");
}
else if (Courses.get(i).courseTeacher.getUsername().equals("") && Courses.get(i).getCourseID().toString().equals(input2)) {
teacher.addCourse(Courses.get(i), teacher);
}
}
}
public static void Scoring(Teacher teacher) {
teacher.scoring();
}
public static void GetCourseViaUUID(UUID uuid) {
for (int i = 0; i < Courses.size(); i++) {
if (Courses.get(i).getCourseID().equals(uuid)) {
System.out.print(Courses.get(i).getCourseName() + " :\n");
System.out.print("Teacher: " + Courses.get(i).courseTeacher.getUsername() + "\n");
System.out.println("Students :");
System.out.print("\t");
for (int j = 0; j < Courses.get(i).getStudents().size(); j++) {
System.out.print(Courses.get(i).getStudents().get(j) + " - ");
}
}
}
}
}
}
Loading