O.G. Brown Dev Courses Demo: ogbrown-courses
=================================

GitHub Project

Table of contents

  • Introduction
  • Live Demo
  • Local Demo
  • Live Site

Introduction

This project is a Java Web Application that provides an Educational Website to host online class materials for students attending the various courses. The general flow of the website supports:

Course

  • Multiple course offerings, e.g. Start Date 8/1/2017, or 10/25/2017. Most recent accessible directly.
  • Multiple Course Labels, e.g. JAVA-1111, XJAV-1122, tracked as the educational agency changes over time. Most recent accessible directly.
  • A list of Prerequisites
  • Most recent Instructor available
  • A list of textbooks
  • A default number of class meeting sessions
  • A list of course objectives
  • A lesson plan by session

CourseOffering

  • Provides a specific number of class meeting sessions for each offering.
  • allows for numerous instructors per offering
  • tracks time logistics (e.g. start date, start time, end date, end time, days of weeks, term) for the offering
  • has location logistics information (e.g. location, room, seats)

Common Course Pages

Programmatically generates the typical starting pages unique for each course and offering. This saves 100’s of statically stored web pages and greatly reduces the setup time for new courses and saves web design time needed for routine materials.

Live Demo

To see a current version with the demo data visit:

https://web.sbogb.com/ogbrown-courses/

Local Demo

In order to run the application you should configure your Database server correctly. You can do this by modifying the values in:

src/main/resources/jdbc-demo.properties

You can deploy the application on the Java servlet container after running:

mvn install

Live Site

To see a live site derived from this project visit:

https://dev.ogbrown.com/

OOAD: Class Diagrams

Here is a high level UML Class Diagram of the model, repository, and service classes designed for this project. Click on the image then use your mouse wheel to zoom until the image is readable.

High Level Class Diagram

Project: ogbrown-courses-core
High Level Class Diagram


Here is a UML Class Diagram of the model classes designed for this project. Click on the image then use your mouse wheel to zoom until the image is readable.
Detail View of Model Package

Project: ogbrown-courses-core Detail View of Model Package

Database Entity Relationship Diagram

Using Spring Data JPA and Hibernate Object/Relational Mapping (ORM). Defined the relationships using annotations in the code and had the database programmatically derived.

Technologies/Dependencies

This is a demo Java Web Application built using the Spring Tool SuiteĀ (Eclipse) configured for Maven with the following dependences:

Runs on Apache Tomcat 7+ and Java 8.

Last Updated: 2/3/2018