Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Digital Gradebook

A lightweight Java console application for managing users (students, teachers, admins), courses, grades and announcements. The app uses JDBC + Oracle for persistence; the current codebase includes DAO classes and SQL scripts to create and seed the schema.

Overview

The application is focused on the administration and usage of a typical university database, at least the subsection that a student would be interested in (such as grades, courses and professors); while also offering a simplified user and authentification system, users being split up into 3 categories: STUDENT, TEACHER, ADMIN.

There is an announcement system that displays on the main terminal page, announcements that can be posted by admins.

There is also a simplel audit log system, where each action taken by the user during their session is catalouged into a CSV that is saved to disk.

Services

The services provided by the application are:

  • For Students:
    • View the grades received for courses (including grades from previous years)
  • For Teachers:
    • See which courses you teach, which students are enrolled in them, and what grades those students have
    • Update the course information you teach for a specific group
    • Grade a student
  • For Admins:
    • Reset any user's password
    • Create new users
    • Assign or unassign a teacher to teach a course for a specific group
    • Enroll or unenroll a group in a course
    • Make a grade permanent (for example at the end of an academic year)
    • Create announcements

Images

main

Requirements

  • Java 21 (project language level is JDK 21)
  • Oracle Database (tested with Oracle 19c).
  • Oracle JDBC driver (ojdbc.jar).

Key files & entry points

Database setup

  • Create an Oracle database/schema that your local DB server exposes. The default JDBC URL and credentials are stored in com.unibuc.pao.DatabaseConnection. Edit that file if you need different host/port/service/credentials.
  • Run the SQL DDL to create tables and triggers: Creation.sql
  • Run seed data to populate some initial users/courses: SeedData.sql (ideally modify with your own SeedData first)

Build and run

  • Put the Oracle JDBC driver on disk, e.g. /path/to/ojdbc.jar (or C:\path\to\ojdbc.jar).
  • Compile:
mkdir -p out
# Unix / macOS
javac -d out -cp /path/to/ojdbc.jar $(find src -name '*.java')
# Windows (PowerShell)
javac -d out -cp C:\path\to\ojdbc.jar (Get-ChildItem -Recurse -Filter *.java -Name | ForEach-Object { "src\$_" }) 
  • Run:
# Unix / macOS
java -cp out:/path/to/ojdbc.jar com.unibuc.pao.Main
# Windows (cmd)
java -cp out;C:\path\to\ojdbc.jar com.unibuc.pao.Main

License

MIT

About

University project for java/advanced oop course implementing a digital coursebook

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages