Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
b0e4e6a
Added .net core api example
ps-swagathbairi May 15, 2025
47392b1
updated copoilot help documentation on DotnetCoreApi samploe project
ps-swagathbairi May 15, 2025
ea39485
updated documentation for DotnetCoreApi project
ps-swagathbairi May 15, 2025
56e2e4e
lesson 01
derekhuynen May 15, 2025
eae12f3
Merge branch 't-mobile' of https://github.com/neudesic/learning-githu…
derekhuynen May 15, 2025
bebf074
moving into 01 folder
derekhuynen May 15, 2025
15876d6
02
derekhuynen May 20, 2025
79c7b7d
fixed typo
ps-swagathbairi May 20, 2025
37a0aba
Merge branch 't-mobile' of https://github.com/neudesic/learning-githu…
ps-swagathbairi May 20, 2025
d5d90bf
renamed dataaccess project root folder to copilot-sample.DataAccess …
ps-swagathbairi May 20, 2025
c6ec11a
added copilot best practices in lessons
ps-swagathbairi May 20, 2025
aa14b6f
big update to lesson 01 and labs
derekhuynen May 27, 2025
13a4c09
md updates
derekhuynen May 27, 2025
ec84266
md link error
derekhuynen May 27, 2025
3843aa4
images
derekhuynen May 28, 2025
4e7f454
slant text
derekhuynen May 28, 2025
b13a816
added donetcoreapi examples in the documentation
ps-swagathbairi May 31, 2025
b15a991
clean up
derekhuynen Jun 2, 2025
13c953b
added agent mode in dotnetcoreapi sample
ps-swagathbairi Jun 2, 2025
af25df7
Merge branch 't-mobile' of https://github.com/neudesic/learning-githu…
ps-swagathbairi Jun 2, 2025
4a4a495
updated dotnetcore ask and edit mode docx
ps-swagathbairi Jun 5, 2025
3f6e1b8
Update 01
derekhuynen Jun 9, 2025
eaba671
Merge branch 't-mobile' of https://github.com/neudesic/learning-githu…
derekhuynen Jun 9, 2025
a2385a6
01 and 02
derekhuynen Jun 9, 2025
1cb543c
01 and 02 (#35)
derekhuynen Jun 9, 2025
473a5f2
added sqllite instead of mssql for easy demo
ps-swagathbairi Jun 11, 2025
563d0f5
moved seed data logic to dataaccess project from api project
ps-swagathbairi Jun 11, 2025
c1631c9
Remove SeedData migration file, update CategoryServiceTests to correc…
ps-swagathbairi Jun 11, 2025
1b6e4fc
Update Copilot instructions for .NET 8 Full Stack Inventory API, enha…
ps-swagathbairi Jun 11, 2025
0a5d02f
v2
derekhuynen Jun 12, 2025
31f0e95
Updated Names and Links 01 & 02
derekhuynen Jun 12, 2025
8d03589
final update readme updated
derekhuynen Jun 12, 2025
1670145
update path
derekhuynen Jun 12, 2025
9e05683
temp
derekhuynen Jun 17, 2025
6474477
creates seperate file for ask in lesson 2
sarahcyphz Jun 18, 2025
b0f18b1
adds more details to ask file
sarahcyphz Jun 19, 2025
97c1031
Restructure lessons directory and update content organization
karthik00678 Jun 24, 2025
6bd9cf9
Update README.md with enhanced structure and comprehensive lesson ove…
karthik00678 Jun 24, 2025
531db62
update workspace doc
karthik00678 Jun 24, 2025
24c4b68
update
karthik00678 Jun 25, 2025
abbac49
ask modes update
karthik00678 Jun 25, 2025
8c22967
..
karthik00678 Jun 25, 2025
947a3d3
update react content
karthik00678 Jun 25, 2025
030ef23
...
karthik00678 Jun 25, 2025
17bba46
...
karthik00678 Jun 25, 2025
0466336
...
karthik00678 Jun 25, 2025
aed1a81
...
karthik00678 Jun 25, 2025
83db201
...
karthik00678 Jun 25, 2025
9cefa58
...
karthik00678 Jun 25, 2025
04c9b18
...
karthik00678 Jun 25, 2025
fe0e62c
...
karthik00678 Jun 25, 2025
1b49611
fix links
karthik00678 Jun 25, 2025
7332bee
...
karthik00678 Jun 25, 2025
7d0763b
...
karthik00678 Jun 25, 2025
9d68c77
...
karthik00678 Jun 25, 2025
3278080
update PE
karthik00678 Jun 25, 2025
5980603
fix links
karthik00678 Jun 25, 2025
74869b2
...
karthik00678 Jun 25, 2025
69d5cc2
...
karthik00678 Jun 25, 2025
159d231
...
karthik00678 Jun 25, 2025
71a18c1
fix markdown
karthik00678 Jun 25, 2025
974f18e
..
karthik00678 Jun 25, 2025
7754dbb
...
karthik00678 Jun 25, 2025
c5406e8
..
karthik00678 Jun 25, 2025
b85be3b
fix links
karthik00678 Jun 25, 2025
f277c18
Update README.md with comprehensive learning structure and enhanced d…
karthik00678 Jun 25, 2025
90d9ae5
update image
karthik00678 Aug 21, 2025
fa264ba
...
karthik00678 Aug 21, 2025
2195464
...
karthik00678 Aug 21, 2025
f9ee4fd
..
karthik00678 Aug 27, 2025
6586ae8
..
karthik00678 Aug 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file added .DS_Store
Binary file not shown.
42 changes: 0 additions & 42 deletions .github/ISSUE_TEMPLATE/bug_template.md

This file was deleted.

22 changes: 0 additions & 22 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

30 changes: 0 additions & 30 deletions .github/ISSUE_TEMPLATE/issue_template.md

This file was deleted.

38 changes: 0 additions & 38 deletions .github/PULL_REQUEST_TEMPLATE.md

This file was deleted.

80 changes: 80 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# GitHub Copilot Learning Repository - Code Instructions

## 🎯 General Guidelines

- **Always use TypeScript** for new JavaScript/React code with strict mode enabled
- **Prefer functional programming patterns** over imperative approaches
- **Include comprehensive error handling** for all async operations
- **Add JSDoc comments** for all public APIs and complex functions
- **Follow semantic naming conventions** for variables, functions, and files

## 📁 File Organization

- **Use kebab-case** for file and folder names (e.g., `user-profile.tsx`)
- **Group related files** in dedicated folders with index files for exports
- **Separate concerns** with clear boundaries between components, services, and utilities
- **Place tests** adjacent to source files with `.test.ts` or `.spec.ts` extensions

## ⚛️ React Development Standards

- **Use functional components** with React hooks instead of class components
- **Implement proper prop validation** with TypeScript interfaces
- **Extract custom hooks** for reusable stateful logic
- **Use React.memo** for performance optimization when appropriate
- **Implement proper error boundaries** for component error handling

## 🔧 Code Quality

- **Follow SOLID principles** in component and service design
- **Use composition over inheritance** patterns
- **Implement proper separation of concerns** between UI and business logic
- **Add comprehensive unit tests** with minimum 80% coverage
- **Use meaningful variable names** that clearly express intent

## 🚨 Security Practices

- **Validate all user inputs** on both client and server sides
- **Sanitize data** before displaying in UI components
- **Use environment variables** for sensitive configuration
- **Implement proper authentication checks** for protected routes
- **Follow OWASP security guidelines** for web applications

## 📚 Documentation Standards

- **Include README files** for all major features and modules
- **Document API endpoints** with clear request/response examples
- **Add inline comments** for complex business logic
- **Create user guides** for new features and tools
- **Maintain up-to-date setup instructions** for development environment

## 🧪 Testing Requirements

- **Write tests first** for critical business logic (TDD approach)
- **Test user interactions** with React Testing Library
- **Mock external dependencies** in unit tests
- **Include accessibility tests** for UI components
- **Create integration tests** for complete user workflows

## 🎨 Styling Guidelines

- **Use CSS Modules** or styled-components for component styling
- **Follow BEM methodology** for CSS class naming when using regular CSS
- **Implement responsive design** patterns for mobile compatibility
- **Use design tokens** for consistent spacing, colors, and typography
- **Ensure WCAG 2.1 AA compliance** for accessibility standards

## 🔄 State Management

- **Use React Context** for application-wide state management
- **Implement proper state normalization** for complex data structures
- **Use reducers** for complex state update logic
- **Cache API responses** appropriately to reduce network requests
- **Handle loading and error states** consistently across the application

## 📦 Dependencies

- **Prefer established libraries** with active maintenance and community support
- **Keep dependencies updated** and audit for security vulnerabilities
- **Use exact version pinning** for critical dependencies
- **Document reasons** for major dependency choices
- **Minimize bundle size** by avoiding unnecessary dependencies
88 changes: 88 additions & 0 deletions .github/instructions/commit-messages.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
---
applyTo:
- commitMessageGeneration
---

# Commit Message Instructions

## Format Structure

Use the **Conventional Commits** format for all commit messages:

```
<type>[optional scope]: <description>

[optional body]

[optional footer(s)]
```

## Commit Types

- **feat**: A new feature for the user
- **fix**: A bug fix for the user
- **docs**: Documentation changes only
- **style**: Code style changes (formatting, missing semi-colons, etc.)
- **refactor**: Code changes that neither fix bugs nor add features
- **perf**: Performance improvements
- **test**: Adding or updating tests
- **chore**: Maintenance tasks, dependency updates
- **ci**: Changes to CI/CD configuration
- **build**: Changes to build system or external dependencies

## Scope Guidelines

Use descriptive scopes to indicate the area of change:
- **components**: React component changes
- **api**: Backend API changes
- **auth**: Authentication/authorization
- **ui**: User interface updates
- **docs**: Documentation updates
- **config**: Configuration changes

## Description Rules

- **Use imperative mood** ("add feature" not "added feature")
- **Limit to 50 characters** for the subject line
- **Start with lowercase** unless it's a proper noun
- **No period** at the end of the subject line
- **Be specific and descriptive** about what changed

## Body Guidelines

- **Wrap at 72 characters** per line
- **Explain what and why** not how
- **Include motivation** for the change
- **Reference related issues** using #issue-number
- **Separate paragraphs** with blank lines

## Footer Usage

- **Breaking changes**: Start with "BREAKING CHANGE: "
- **Issue references**: "Closes #123", "Fixes #456"
- **Co-authored by**: For pair programming

## Examples

```
feat(auth): add OAuth2 login integration

Implement Google OAuth2 authentication to allow users to login
using their Google accounts. This provides a more secure and
convenient authentication method.

- Add OAuth2 configuration
- Implement callback handling
- Update user model to store OAuth tokens

Closes #142
```

```
fix(components): resolve memory leak in UserProfile component

The UserProfile component was not properly cleaning up event
listeners in useEffect, causing memory leaks on route changes.

BREAKING CHANGE: UserProfile now requires cleanup prop
```
83 changes: 83 additions & 0 deletions .github/instructions/react-development.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
---
applyTo:
- codeGeneration
- testGeneration
- reviewSelection
filePatterns:
- "**/*.tsx"
- "**/*.ts"
- "**/*.jsx"
- "**/*.js"
keywords:
- react
- component
- hook
- jsx
- tsx
---

# React Development Instructions

## Component Architecture

- **Always use functional components** with hooks instead of class components
- **Create custom hooks** for reusable stateful logic across components
- **Use React.memo** for components that receive the same props frequently
- **Implement proper prop drilling solutions** with Context API or state management
- **Keep components small and focused** on a single responsibility

## TypeScript Integration

- **Define explicit interfaces** for all component props
- **Use generic types** for reusable components where appropriate
- **Avoid using `any` type** - prefer `unknown` or proper type definitions
- **Create union types** for component variants and states
- **Use type guards** for runtime type checking when needed

## State Management

- **Use useState** for simple local component state
- **Use useReducer** for complex state logic with multiple sub-values
- **Implement Context API** for application-wide state that multiple components need
- **Consider external state management** (Redux, Zustand) for complex applications
- **Keep state as close to where it's used** as possible

## Performance Optimization

- **Use useMemo** for expensive calculations that depend on specific props/state
- **Use useCallback** for functions passed as props to prevent unnecessary re-renders
- **Implement code splitting** with React.lazy and Suspense for large components
- **Optimize re-renders** by avoiding object/array creation in render methods
- **Profile performance** using React DevTools Profiler

## Error Handling

- **Implement Error Boundaries** for graceful error handling in component trees
- **Use try-catch blocks** in async functions and event handlers
- **Provide fallback UI** for error states and loading states
- **Log errors appropriately** without exposing sensitive information
- **Handle network errors** gracefully with retry mechanisms

## Testing Standards

- **Test component behavior** rather than implementation details
- **Use React Testing Library** for component testing
- **Mock external dependencies** and API calls
- **Test accessibility** with jest-axe
- **Maintain test coverage** above 80% for critical components

## Styling Guidelines

- **Use CSS Modules** for component-scoped styling
- **Follow BEM methodology** when using regular CSS
- **Implement design tokens** for consistent spacing, colors, and typography
- **Ensure responsive design** with mobile-first approach
- **Test across different devices** and browsers

## Hook Best Practices

- **Place hooks at the top level** of function components
- **Use dependency arrays correctly** in useEffect to avoid infinite loops
- **Clean up side effects** in useEffect return functions
- **Create custom hooks** for complex logic that uses multiple built-in hooks
- **Follow hook naming convention** with "use" prefix for custom hooks
Loading