Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions .github/ISSUE_TEMPLATE/general.yml
Original file line number Diff line number Diff line change
@@ -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

6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand All @@ -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.


---
Expand Down
6 changes: 3 additions & 3 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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`
Expand Down
13 changes: 6 additions & 7 deletions docs/projects/mvp/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,18 +58,17 @@ 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:
1. Open the project → Settings → Workflows
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)
Expand All @@ -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.

Expand All @@ -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).
Expand Down
6 changes: 3 additions & 3 deletions docs/week-7-issues.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down