Ryan Loiselle — Developer / Architect
DSC (Daily Schedule Control) is a legacy Java EE web application for employee timesheet and activity tracking. It is built on Servlet/JSP, Hibernate 3 ORM, and MySQL, deployed as an exploded WAR on Apache Tomcat.
It was originally developed in 2009 while working in the Telecom industry (MTS Allstream). The code base as it exists in this repository is what was developed for work, but also for credit for a 3rd year Advanced Internet Programming course during my Applied Computer Science program at the University of Winnipeg. There was further development to code base within the company, which completed many of the incomplete features within this deployment.
This repository is used as a study and modernisation platform — the codebase represents a real-world legacy system with the goal of bringing it to a clean, documented, and deployable state.
| Layer | Technology |
|---|---|
| Language | Java 8 |
| Web tier | Java Servlets + JSP (Tomcat 9) |
| ORM | Hibernate 3 (via Visual Paradigm orm.jar) |
| Database | MySQL 8.0 |
| Build | Apache Ant (build-dbva.xml) |
| UI | HTML/CSS/JSP + legacy JS calendar widget |
| Document | Purpose |
|---|---|
| docs/local-development/README.md | Full local environment setup, service config, known issues, test credentials |
| docs/development-history.md | Session-by-session change log |
| CODING_STANDARDS.md | Coding conventions and AI collaboration guardrails |
| SECRETS_README.md | Credential rotation instructions |
Prerequisites: Java 8 (Temurin), Ant, Tomcat 9, MySQL 8 on port 4306.
See docs/local-development/README.md for full setup.
# Build
JAVA_HOME=$(/usr/libexec/java_home -v 1.8) ant -f build-dbva.xml clean compile
# Deploy
rsync -a --delete WebContent/ /opt/homebrew/opt/tomcat@9/libexec/webapps/DSC/
brew services restart tomcat@9
# Smoke test
curl -s -o /dev/null -w "%{http_code}" http://localhost:8080/DSC/jsp/login.jsp
# Expected: 200src/ Java source — servlets, ORM entities, utilities
mts/dsc/
servlet/ HTTP request handlers
employee/ Domain model classes
orm/ Hibernate session management
utilities/ Shared helpers
test/ Development-time seed data (not compiled by Ant)
src/ormmapping/ Hibernate config and entity XML mappings
WebContent/ Deployable webapp root (WEB-INF, JSP, CSS, JS)
scripts/ DB DDL and utility scripts
docs/ Project documentation
AI/ Copilot session logs and work history
lib/ Third-party JARs
| Branch | Purpose |
|---|---|
master |
Stable baseline — no broken builds |
feat/<description> |
New features |
fix/<description> |
Bug fixes |
chore/<description> |
Environment, tooling, and non-functional changes |