Skip to content

Health endpoint#86

Merged
ArchILLtect merged 5 commits intomainfrom
health-endpoint
Feb 14, 2026
Merged

Health endpoint#86
ArchILLtect merged 5 commits intomainfrom
health-endpoint

Conversation

@ArchILLtect
Copy link
Owner

This pull request introduces improvements to the deployment process, database schema documentation and implementation, and application health monitoring. The most important changes include adding a health check endpoint and Docker healthcheck, tightening constraints on the database schema for challenges and drill items, and updating access control for static and health endpoints.

Deployment & Monitoring Enhancements:

  • Added a new HealthServlet at /health for lightweight readiness/liveness checks, returning a quick 200 response.
  • Updated the Dockerfile to install curl and add a HEALTHCHECK instruction that verifies the /health endpoint, improving container reliability and observability.

Database Schema Improvements:

  • Updated docs/DBSchema.md and schema SQL to constrain difficulty in challenges to EASY|MEDIUM|HARD, set created_at and updated_at to NOT NULL DEFAULT CURRENT_TIMESTAMP, and enforce uniqueness for (user_id, challenge_id) in drill_items. Also, version in drill_items is now NOT NULL DEFAULT 0, and challenge_id in drill_items uses ON DELETE CASCADE. [1] [2]

Access Control Updates:

  • Modified AuthGuardFilter to allow access to additional static asset paths (/assets/, /static/) and to the new /health endpoint, ensuring proper accessibility for health checks and static resources. [1] [2]

Documentation Updates:

  • Clarified constraints and defaults in docs/DBSchema.md to match the implemented schema, including details on challenge difficulty, timestamps, and drill item uniqueness.
  • Removed outdated links from .github/ISSUE_TEMPLATE/config.yml and README.md, such as the Week 6 Plan and Reflections, to keep documentation current. [1] [2]

@ArchILLtect ArchILLtect added this to the Post-MVP milestone Feb 14, 2026
@ArchILLtect ArchILLtect self-assigned this Feb 14, 2026
Copilot AI review requested due to automatic review settings February 14, 2026 02:54
@ArchILLtect ArchILLtect added enhancement New feature or request area:web Controllers, JSP/JSTL, view models, and UI wiring. priority:P1-high High importance; schedule next. post-mvp Use for all issues/PRs that do not belong to the MVP release. Will be implement post-MVP. labels Feb 14, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds health monitoring capabilities to the application and improves database schema documentation with stricter constraints. It introduces a lightweight /health endpoint for container health checks, updates the Dockerfile to include health monitoring, and tightens database constraints for data integrity.

Changes:

  • Added /health endpoint via HealthServlet for container readiness/liveness checks
  • Enhanced Dockerfile with curl installation and HEALTHCHECK instruction
  • Improved database schema documentation and constraints (difficulty validation, NOT NULL defaults, unique constraint on user/challenge pairs, CASCADE delete)

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/main/java/me/nickhanson/codeforge/web/HealthServlet.java New servlet providing lightweight health check endpoint returning 200 OK
src/main/java/me/nickhanson/codeforge/web/AuthGuardFilter.java Added /health and static asset paths (/assets/, /static/) to authentication bypass list
Dockerfile Added curl installation and HEALTHCHECK instruction for container monitoring
docs/DBSchema.md Enhanced documentation with CHECK constraints, NOT NULL defaults, and unique constraint specification
README.md Removed outdated reflections documentation link
.github/ISSUE_TEMPLATE/config.yml Removed outdated Week 6 Plan link

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings February 14, 2026 15:12
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Added JavaDoc comment for the doGet method in HealthServlet.
Copilot AI review requested due to automatic review settings February 14, 2026 15:23
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@ArchILLtect ArchILLtect merged commit 7c7ceee into main Feb 14, 2026
2 checks passed
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 6 to 8
- name: 📅 Project Plan
url: https://github.com/ArchILLtect/code-forge/blob/main/docs/project-plan.md
about: Weekly plan, scope, and checkpoints.
Copy link

Copilot AI Feb 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The week-6-plan.md reference was removed from config.yml, but it still appears in other documentation files (.github/ISSUE_TEMPLATE/documentation.yml line 21, .github/pull_request_template.md line 35, and docs/legacy/projects/mvp/README.md line 58). These remaining references should also be removed or updated to maintain documentation consistency.

Copilot uses AI. Check for mistakes.
@@ -27,7 +27,6 @@ Current production stack:
- User stories: `docs/user-stories.md`
- Project plan: `docs/project-plan.md`
Copy link

Copilot AI Feb 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The reflections/WeeklyJournal.md reference was removed from README.md, but it still appears in other documentation files (.github/pull_request_template.md and docs/legacy/week-6-issues.md line 323). Consider removing or updating these remaining references to maintain documentation consistency.

Suggested change
- Project plan: `docs/project-plan.md`
- Project plan: `docs/project-plan.md`
- Weekly reflections: `reflections/WeeklyJournal.md`

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:web Controllers, JSP/JSTL, view models, and UI wiring. enhancement New feature or request post-mvp Use for all issues/PRs that do not belong to the MVP release. Will be implement post-MVP. priority:P1-high High importance; schedule next.

Projects

Development

Successfully merging this pull request may close these issues.

1 participant