This Android application is a basic student scheduler as defined by the requirements of C196. It allows a student to:
- Track Terms
- Track Courses in a given Term
- Track Assessments in a given Course
- Track Instructors and their contact information and associate them with a Course
This project was designed to be used with Android API 28 (Pie). This project was tested on a Pixel 3a (Emulator) and a Pixel 4a (Physical). See the list of Libraries used for additional versioning information.
As of submission, here is the list of libraries used in the gradle file:
dependencies {
implementation(libs.appcompat)
implementation(libs.material)
implementation(libs.activity)
implementation(libs.constraintlayout)
testImplementation(libs.junit)
androidTestImplementation(libs.ext.junit)
androidTestImplementation(libs.espresso.core)
// Room components
implementation("androidx.room:room-runtime:2.6.1")
annotationProcessor("androidx.room:room-compiler:2.6.1")
androidTestImplementation("androidx.room:room-testing:2.6.1")
}
Open this project in Android Studio and build. As long as the gradle file is there, everything should build successfully.
The app consists of 1 primary activity and 4 sub activities.
The main screen provides navigation to the 4 sub-activities. There is also a submenu for adding sample data and deleting all data.
In order to navigate to the sub-activies of the app, simply click on any of the buttons (Terms, Courses, etc.)
The Term activity allows the user to view their list of terms. They can go to a detailed view of the term by clicking on the button. They can also create a new term by hitting the + button.
By selecting the Term Button the user opens the Term Details Activity (TermDetailsActivity.java
). The Term Details Activity allows the user to view the term's details as well as add courses to the term. The user
may also edit or delete the selected term. Terms cannot be deleted if there are associated courses.
To add a course to a term, the user should click the + icon in the Term Detail Activity. The course list popup menu is scrollable.
Once the course is added, it will show up in the Term Details section.
By selecting the edit icon Floating Action Button, the user navigates to the Term Edit Activity (TermEditActivity.java
). In that activity, the user can edit the Term title, start date, and end date.
When the user is done editing, they can hit the Save button in the top right of the screen to save the edited term.
The Courses activity allows the user to view their list of courses. They can go to a detailed view of the course by clicking on the button. They can also create a new course by hitting the + button.
By selecting the Course Button, the user opens the Course Details Activity (CourseDetailsActivity.java
). The Course Details Activity allows the user to view the course's details as well as add assessments and instructors to the course.
The user may also edit or delete the selected course. There is also a submenu at the top right corner where the user can set a notification reminder for when the course is starting and ending.
By selecting the edit icon Floating Action Button, the user navigates to the Course Edit Activity (CourseEditActivity.java
). In that activity, the user can edit the Term title, start date, end date, course status, and add an optional note.
The Assessment activity allows the user to view their list of assessments. They can go to a detailed view of the assessment by clicking on the button. They can also create a new assessment by hitting the + button.
By selecting the Assessment Button, the user opens the Assessment Details Activity (AssessmentDetailsActivity.java
). The Assessment Details Activity allows the user to view the assessment's details.
The user may also edit or delete the selected assessment. There is also a submenu at the top right corner where the user can set a notification reminder for when the assessment is due.
By selecting the edit icon Floating Action Button, the user navigates to the Assessment Edit Activity (AssessmentEditActivity.java
). In that activity, the user can edit the assessment title, due date, and assessment type.
The Instructor Activity provides a location for the user to view their course instructors and their contact information. Instructors can be assigned to a course in the course details page.
By selecting the Instructor Button, the user opens the Instructor Details Activity (InstructorDetailsActivity.java
). The Instructor Details Activity allows the user to view the instructor's contact information.
The user may also edit or delete the selected instructor.
By selecting the edit icon Floating Action Button, the user navigates to the Instructor Edit Activity (InstructorEditActivity.java
). In that activity, the user can edit the instructor's name, email address, and phone number.