Skip to content

Commit

Permalink
edited readme.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Fir121 committed Dec 15, 2022
1 parent 000b2bf commit d1eda11
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 4 deletions.
42 changes: 39 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,40 @@
# Academic_Planner
A github repo for OOPS project, /*under development*/
# Academic Planner

This Project uses Maven for build and file control. The project is in the academic-planner/ directory.

## Overview

Students have very tight schedules, they are required to deal with multiple deadlines, exams, attendance criteria etc., due to this burden it is difficult for students to plan their Academics and still strike an optimal balance.
The purpose of this project was to introduce an innovative solution that would combat this issue – An Academic Planner. Students may keep track of their courses, events, holidays, attendances, and grades over the course of a semester.

## Feature Overview
The Academic Planner is a GUI where users may do the following:

* Add/Edit/Delete Courses and relevant details
* Add/Edit/Delete Components for each Course
* Add/Edit/Delete Events in a Central Calendar
* Set and Record Attendance for each Course
* View Attendance Statistics
* Calculate a Predicted Grade based on your Inputs
* Cross Platform Compatibility: Compatible on MacOS, Windows and Linux since SQLite and Java swing have been used, which are compatible across several platforms. It will maintain a native look on each.


## Core Concepts Used
The Project is created with Java and utilises the following:

* OOP Concepts – Inheritance, Polymorphism, Abstraction and Encapsulation.
* Java Swing – The Guided User Interface is designed with the Java Swing toolkit.
* Java JBDC SQLite3 – All data that is used by the Application Backend is stored in a local SQLite Database.
* Java IO – Certain Settings and Login details are stored in files, which are created with the help of the IO Package.
* Java Date – Due to several usages of Date based input/output, the Date package helps handle dates.
* Maven – Maven is a build automation tool, it was used to make development, compilation, and dependencies easier.
* Junit – The Junit package was used to write unit tests, in order to ensure correctness of the code.

## Future Roadmap
Software must always be evolving so in the future; we plan to add features such as:

* Advanced Grade Prediction based on collected data.
* Memory system, that remembers previous semester data and uses it for prediction/recommendations.
* Link to SendGrid API to send reminders as emails/SMS for events and component deadlines.
* Centralised database to store login and all other data to the cloud.

This Project uses Maven for build and file control. The code is in the academic-planner/ directory.
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ private ArrayList<Event> getEvents(int year, int month){
finally{
SQL.closeConn();
}
rs = new SQL().selectData("select courses.code || '<br/>' || components.name as 'name', components.date as 'date' from components join courses;");
rs = new SQL().selectData("select courses.code || '<br/>' || components.name as 'name', components.date as 'date' from components join courses on Components.courseid = Courses.id;");
try{
while (rs.next()){
al.add(new Event(null, "<html>"+rs.getString("name")+"</html>", "Component", DateAlternate.date(rs.getString("date")), null));
Expand Down

0 comments on commit d1eda11

Please sign in to comment.