diff --git a/.github/ISSUE_TEMPLATE/general.yml b/.github/ISSUE_TEMPLATE/general.yml new file mode 100644 index 0000000..6bf70f5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/general.yml @@ -0,0 +1,51 @@ +name: "General / Misc" +description: "Generic issue template for reviews, instructor feedback, questions, or any general request." +title: "" +labels: [] +assignees: [] +body: + - type: dropdown + id: type + attributes: + label: Type + description: Select the closest type + options: + - Review + - Feedback + - Question + - Task + - Other + validations: + required: true + + - type: input + id: summary + attributes: + label: Short summary + placeholder: One-line summary of the issue + validations: + required: true + + - type: textarea + id: details + attributes: + label: Details + description: Describe the request or issue in detail (what, why, scope) + placeholder: Describe the request or issue in detail + render: markdown + validations: + required: true + + - type: textarea + id: context + attributes: + label: Background / context + description: Links, PRs, commits, prior discussion, screenshots + render: markdown + + - type: textarea + id: attachments + attributes: + label: Additional info / attachments + description: Screenshots, logs, files, environment details + diff --git a/README.md b/README.md index c951fb4..632ab44 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,8 @@ Rather than relying on heavy frameworks, CodeForge intentionally embraces the se 1. Challenge execution, evaluation logic, and telemetry logging. 1. Database persistence, entity relationships, and DAO patterns. 1. Deployment lessons learned, tradeoffs, and post-MVP next steps. -1. Throughout the walkthrough, I focus on clarity, tradeoffs, and lessons learned — highlighting not just what worked, but why certain decisions were made and what I would evolve next. + +Throughout the walkthrough, I focus on clarity, tradeoffs, and lessons learned — highlighting not just what worked, but why certain decisions were made and what I would evolve next. #### Watch the Walkthrough Presentation Below: @@ -87,8 +88,7 @@ Most coding-practice platforms (like LeetCode or HackerRank) are powerful, but t - **Progress Tracking**: history per challenge and overall streaks to visualize learning. - **Instructor/Admin Tools**: easy challenge CRUD to keep content fresh. -CodeForge’s goal is to provide a *friendlier, clarity-first alternative* to existing platforms — helping learners master problem-solving without distraction. -Think of it as a simpler, friendlier alternative to LeetCode — focused on clarity, fundamentals, and mastery through repetition. +CodeForge’s goal is to provide a *simpler, clarity-first alternative* to platforms like LeetCode — helping learners focus on clarity, fundamentals, and mastery through repetition without distraction. --- diff --git a/TODO.md b/TODO.md index 0133a21..0155e2e 100644 --- a/TODO.md +++ b/TODO.md @@ -12,10 +12,10 @@ - [ ] The failure message links to the PR template section to fix - [ ] Job is optional on drafts and required on ready-for-review PRs -1) Add a PR labeler workflow to apply area:* and feature:* labels based on changed files +2) Add a PR labeler workflow to apply area:* and feature:* labels based on changed files - Context: Reduce manual labeling; drive better triage and automation. - Approach: - - Use gitHub/issue-labeler or actions/labeler with path-based rules + - Use `github/issue-labeler` or `actions/labeler` with path-based rules - Map paths (e.g., `src/main/java/**/web/**` → `area:web`, `src/main/java/**/service/**` → `area:service`, etc.) - Acceptance Criteria: - [ ] Labels applied automatically on PR open/sync @@ -30,7 +30,7 @@ - [ ] Replace `@your-org/security-team` and `@your-org/deployment-team` with real GitHub users/teams - [ ] Verify review requests are auto-assigned when touching the relevant paths -1) Add @ControllerAdvice to inject session user into all views +2) Add @ControllerAdvice to inject session user into all views - Context: Controllers currently add the session user per endpoint. A global model attribute will simplify views. - Approach: - Create a `GlobalModelAttributes` class annotated with `@ControllerAdvice` diff --git a/docs/projects/mvp/README.md b/docs/projects/mvp/README.md index a067eca..dcf5c20 100644 --- a/docs/projects/mvp/README.md +++ b/docs/projects/mvp/README.md @@ -58,11 +58,6 @@ The project board groups all issues labeled `project:mvp` into a single executio - CI workflow: `.github/workflows/build.yml` - Health endpoint: `/actuator/health` - -# CodeForge MVP – Quick Start - -This guide summarizes how to run MVP features (Practice + Drill), configure flags, and run tests. - ## How to Add Work to This Project - Apply the label `project:mvp` to any issue/PR that should appear on the MVP board. - Set up a Project workflow rule in GitHub Projects: @@ -70,6 +65,10 @@ This guide summarizes how to run MVP features (Practice + Drill), configure flag 2. Add a rule: "When issue is added to the repository and label = project:mvp → Add to project" 3. Optionally auto-set status to "Ready" +# CodeForge MVP – Quick Start + +This guide summarizes how to run MVP features (Practice + Drill), configure flags, and run tests. + ## Prerequisites - Java 21 (Temurin recommended) - MySQL 8.x running locally (cf_test_db) @@ -84,7 +83,7 @@ This guide summarizes how to run MVP features (Practice + Drill), configure flag ## Run (Tomcat) - Build WAR: ```powershell -mvn -f "C:\Users\nickh\Documents\My Projects\Java\code-forge\pom.xml" -DskipTests=true package +mvn -f "[project-root]\pom.xml" -DskipTests=true package ``` - Deploy `target/*.war` to Tomcat webapps and start Tomcat. @@ -110,7 +109,7 @@ mvn -f "C:\Users\nickh\Documents\My Projects\Java\code-forge\pom.xml" -DskipTest ## Tests - Run all tests: ```powershell -mvn -f "C:\Users\nickh\Documents\My Projects\Java\code-forge\pom.xml" -DskipTests=false test +mvn -f "[project-root]\pom.xml" -DskipTests=false test ``` - Notable tests: - Evaluator unit tests (correct/acceptable/incorrect/missing/guard). diff --git a/docs/week-7-issues.md b/docs/week-7-issues.md index 5549b5a..b04e848 100644 --- a/docs/week-7-issues.md +++ b/docs/week-7-issues.md @@ -282,11 +282,11 @@ Use this content with the "Project Checkpoint" issue template. Copy the Title in - In scope - Code updates in DrillService and other service classes to manage transaction boundaries. - - Add @Version to DrillItem (no Flyway/Liquibase changes yet).Add @Version to DrillItem (no Flyway/Liquibase changes yet). + - Add @Version to DrillItem (no Flyway/Liquibase changes yet). - Out of scope - - Add @Version to DrillItem (no Flyway/Liquibase changes yet).Database-level unique constraints or race-condition handling. - - Add @Version to DrillItem (no Flyway/Liquibase changes yet).Concurrency tests and full Flyway migration (deferred to later issue). + - Database-level unique constraints or race-condition handling. + - Concurrency tests and full Flyway migration (deferred to later issue). - Acceptance criteria - [ ] Controllers have no @Transactional annotations.