feat: renumber duplicate IDs and add three new beginner-level projects#539
feat: renumber duplicate IDs and add three new beginner-level projects#539gowthamrdyy wants to merge 1 commit into
Conversation
|
@gowthamrdyy is attempting to deploy a commit to the komalsony234-1530's projects Team on Vercel. A member of the Team first needs to authorize it. |
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds new starter-code projects and expands the projects dataset/documentation to reflect the larger catalog.
Changes:
- Added starter templates for Rock/Paper/Scissors (browser), Markdown→HTML converter (CLI), and keyword searcher (CLI)
- Expanded
data/projects.jsonwith new project entries and normalized some formatting/IDs - Updated documentation to reflect the expanded project dataset size
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| starter_code/rock_paper_scissors.html | New browser-based starter template with UI + placeholder game logic |
| starter_code/markdown_converter.py | New CLI starter template for basic Markdown-to-HTML conversion |
| starter_code/keyword_searcher.py | New CLI starter template for keyword searching in text files |
| docs/project_overview.md | Updates dataset description to reflect increased project count |
| data/projects.json | Adds new projects and adjusts existing metadata/formatting |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| // TODO: Write computerPlay() to randomly return 'rock', 'paper', or 'scissors' | ||
| function computerPlay() { | ||
| const choices = ['rock', 'paper', 'scissors']; | ||
| // Your code here | ||
| return 'rock'; | ||
| } |
| button { | ||
| padding: 12px 24px; | ||
| font-size: 1.5rem; | ||
| cursor: pointer; | ||
| border: none; | ||
| background: #6366f1; | ||
| color: white; | ||
| border-radius: 8px; | ||
| transition: background 0.2s; | ||
| } | ||
| button:hover { | ||
| background: #4f46e5; | ||
| } |
| "title": "Password Strength Checker", | ||
| "skills": ["Python"], | ||
| "level": "Beginner", | ||
| "interest": "Cybersecurity", | ||
| "interest": "Data", | ||
| "time": "Low", | ||
| "description": "A tool that checks password strength based on length, symbols, uppercase letters, and numbers. Helps beginners understand input validation and security basics.", | ||
| "features": [ |
| "id": 11, | ||
| "title": "Number Guessing Game", | ||
| "skills": ["Python"], | ||
| "level": "Beginner", |
| "roadmap": [ | ||
| "Step 1: Create index.html with layout and buttons", | ||
| "Step 2: Add CSS layout and select effects", | ||
| "Step 3: Define variables for score and selection in script.js", | ||
| "Step 4: Implement random choice generator for computer", |
| "features": [ | ||
| "Read files in directory", | ||
| "Filter lines matching case-insensitive search", | ||
| "Output line numbers and context snippets", | ||
| "Export matching lines to output file" | ||
| ], |
| "description": "A CLI tool that reads a Markdown file (.md) and converts basic syntax—such as headers, bold text, and lists—into clean, valid HTML output. Teaches custom parsing and string replacement rules.", | ||
| "features": [ | ||
| "Load input markdown file", | ||
| "Convert #, ## to h1, h2 headers", | ||
| "Convert **bold** syntax to <strong> tags", | ||
| "Wrap standard lines in paragraphs", | ||
| "Write output directly to HTML file" | ||
| ], |
Xenon010101
left a comment
There was a problem hiding this comment.
Here's how to address all 7 Copilot review comments:
1. computerPlay() always returns 'rock' (starter_code/rock_paper_scissors.html)
function computerPlay() {
const choices = ['rock', 'paper', 'scissors'];
return choices[Math.floor(Math.random() * choices.length)];
}2. Missing :focus-visible on buttons (starter_code/rock_paper_scissors.html)
Add to the <style> block:
button:focus-visible {
outline: 3px solid #4f46e5;
outline-offset: 2px;
}3. Password checker interest changed from Cybersecurity to Data (projects.json)
Revert "interest" from "Data" back to "Cybersecurity" for the Password Strength Checker project, since it's about security basics.
4. Renumbering project IDs is breaking (projects.json)
Keep existing project IDs (8, 9, 10) as-is. Assign new IDs (11, 12, 13, etc.) only to new entries. Gaps in IDs are fine.
5. Roadmap mentions separate files but starter is single-file (projects.json)
Update the Rock Paper Scissors roadmap steps to match the single-file structure:
"Step 1: Review the HTML structure with buttons and score board",
"Step 2: Examine the inline CSS for layout and effects",
"Step 3: Implement computerPlay() with random choice logic"
6. Keyword Searcher features mention directory search but starter is single-file (projects.json)
Either update features to match single-file scope ("Read file line by line" not "Read files in directory"), or update the starter code to implement directory traversal.
7. Markdown Converter features mention lists/paragraphs but starter only covers headings/bold/italic (projects.json)
Update features to match what the starter template covers (headings, bold, italic) or expand the starter docstring.
komalharshita
left a comment
There was a problem hiding this comment.
Thank you for the contribution.
The new beginner-level projects and starter templates are valuable additions. However, a few issues need to be addressed before this PR can be merged.
-
Existing project IDs have been renumbered. Project IDs should remain stable because they may be referenced by routes, bookmarks, recommendations, documentation, or future integrations. Please keep existing IDs unchanged and assign new IDs only to newly added projects.
-
The Password Strength Checker project's interest category was changed from "Cybersecurity" to "Data". This classification does not match the project description and should be reverted.
-
Some project metadata does not align with the provided starter templates:
- Rock Paper Scissors roadmap references separate files while the starter code is a single HTML file.
- Keyword Searcher features mention directory-wide search, but the starter code operates on a single file.
- Markdown Converter features describe functionality that is not reflected in the starter template.
Please address these issues and update the PR accordingly.
This PR resolves duplicate ID collisions in the project database (sequential IDs 1-13) and adds 3 new beginner-level projects covering Games and Automation: Rock Paper Scissors, Text Keyword Searcher, and Markdown CLI Converter (complete with starter boilerplates and documentation updates).