Initial commit: Complete NodeJS-native setup
- Migrated from Python pre-commit to NodeJS-native solution - Reorganized documentation structure - Set up Husky + lint-staged for efficient pre-commit hooks - Fixed Dockerfile healthcheck issue - Added comprehensive documentation index
This commit is contained in:
90
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
90
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
# Bug Report
|
||||
|
||||
## 🐛 Bug Description
|
||||
|
||||
A clear and concise description of the bug.
|
||||
|
||||
## 🔄 Steps to Reproduce
|
||||
|
||||
1. Go to '...'
|
||||
2. Click on '...'
|
||||
3. Scroll down to '...'
|
||||
4. See error
|
||||
|
||||
## ✅ Expected Behavior
|
||||
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
## ❌ Actual Behavior
|
||||
|
||||
A clear and concise description of what actually happened.
|
||||
|
||||
## 📱 Environment
|
||||
|
||||
**Desktop:**
|
||||
|
||||
- OS: [e.g. Windows 10, macOS 12.0, Ubuntu 20.04]
|
||||
- Browser: [e.g. Chrome 96, Firefox 95, Safari 15]
|
||||
- Version: [e.g. 22]
|
||||
|
||||
**Mobile:**
|
||||
|
||||
- Device: [e.g. iPhone 13, Samsung Galaxy S21]
|
||||
- OS: [e.g. iOS 15.1, Android 12]
|
||||
- Browser: [e.g. Safari, Chrome]
|
||||
|
||||
**Application:**
|
||||
|
||||
- Version: [e.g. 1.2.0]
|
||||
- Environment: [e.g. Local Development, Production]
|
||||
- Authentication Method: [e.g. Email/Password, Google OAuth]
|
||||
|
||||
## 📸 Screenshots
|
||||
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
## 📝 Additional Context
|
||||
|
||||
Add any other context about the problem here.
|
||||
|
||||
### Error Messages
|
||||
|
||||
```
|
||||
Paste any error messages here
|
||||
```
|
||||
|
||||
### Console Logs
|
||||
|
||||
```
|
||||
Paste relevant console logs here
|
||||
```
|
||||
|
||||
### Network Requests
|
||||
|
||||
If the issue involves API calls, include relevant network request/response information.
|
||||
|
||||
## 🔧 Troubleshooting Attempted
|
||||
|
||||
- [ ] Cleared browser cache
|
||||
- [ ] Tried incognito/private browsing
|
||||
- [ ] Checked browser console for errors
|
||||
- [ ] Verified internet connection
|
||||
- [ ] Tried different browser
|
||||
- [ ] Logged out and back in
|
||||
|
||||
## 🏥 Medical Context (if applicable)
|
||||
|
||||
- [ ] This affects medication reminders
|
||||
- [ ] This affects dose tracking
|
||||
- [ ] This could impact patient safety
|
||||
- [ ] This involves sensitive health data
|
||||
|
||||
**Priority Level:** [Low / Medium / High / Critical]
|
||||
|
||||
## 📋 Checklist
|
||||
|
||||
- [ ] I have searched existing issues to ensure this is not a duplicate
|
||||
- [ ] I have provided clear steps to reproduce
|
||||
- [ ] I have included environment details
|
||||
- [ ] I have added relevant screenshots/logs
|
||||
- [ ] I have marked appropriate priority level
|
||||
194
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
194
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
@@ -0,0 +1,194 @@
|
||||
name: 🐛 Bug Report
|
||||
description: Report a bug or issue with the application
|
||||
title: '[BUG] '
|
||||
labels: ['bug', 'needs-triage']
|
||||
assignees: []
|
||||
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thank you for taking the time to report a bug! Please fill out the information below to help us reproduce and fix the issue quickly.
|
||||
|
||||
- type: checkboxes
|
||||
id: pre-check
|
||||
attributes:
|
||||
label: Pre-submission Checklist
|
||||
description: Please verify these items before submitting
|
||||
options:
|
||||
- label: I have searched existing issues to ensure this is not a duplicate
|
||||
required: true
|
||||
- label: I have provided clear steps to reproduce the issue
|
||||
required: true
|
||||
- label: I have tested this in the latest version
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Bug Description
|
||||
description: A clear and concise description of what the bug is
|
||||
placeholder: Describe the bug...
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: reproduction
|
||||
attributes:
|
||||
label: Steps to Reproduce
|
||||
description: Clear steps to reproduce the behavior
|
||||
placeholder: |
|
||||
1. Go to '...'
|
||||
2. Click on '...'
|
||||
3. Scroll down to '...'
|
||||
4. See error
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: expected
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: What you expected to happen
|
||||
placeholder: I expected...
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: actual
|
||||
attributes:
|
||||
label: Actual Behavior
|
||||
description: What actually happened
|
||||
placeholder: Instead...
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: severity
|
||||
attributes:
|
||||
label: Severity
|
||||
description: How severe is this issue?
|
||||
options:
|
||||
- Low - Minor inconvenience
|
||||
- Medium - Noticeable issue that doesn't block usage
|
||||
- High - Significant issue that impacts functionality
|
||||
- Critical - Application is unusable or data loss
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: environment
|
||||
attributes:
|
||||
label: Environment
|
||||
description: Where did this occur?
|
||||
options:
|
||||
- Local Development
|
||||
- Docker Environment
|
||||
- Production
|
||||
- Staging
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
description: Your operating system
|
||||
placeholder: e.g., Windows 11, macOS 13.0, Ubuntu 22.04
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: browser
|
||||
attributes:
|
||||
label: Browser
|
||||
description: Browser and version
|
||||
placeholder: e.g., Chrome 119, Firefox 118, Safari 17
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: Application Version
|
||||
description: Version of the application
|
||||
placeholder: e.g., 1.2.0
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: dropdown
|
||||
id: auth-method
|
||||
attributes:
|
||||
label: Authentication Method
|
||||
description: How were you authenticated when this occurred?
|
||||
options:
|
||||
- Not authenticated
|
||||
- Email/Password
|
||||
- Google OAuth
|
||||
- GitHub OAuth
|
||||
- Admin Account
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: error-messages
|
||||
attributes:
|
||||
label: Error Messages
|
||||
description: Any error messages you received
|
||||
placeholder: Paste error messages here...
|
||||
render: text
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: console-logs
|
||||
attributes:
|
||||
label: Console Logs
|
||||
description: Relevant browser console logs
|
||||
placeholder: Paste console logs here...
|
||||
render: text
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: screenshots
|
||||
attributes:
|
||||
label: Screenshots
|
||||
description: Add screenshots to help explain the problem
|
||||
placeholder: Drag and drop screenshots here...
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: checkboxes
|
||||
id: troubleshooting
|
||||
attributes:
|
||||
label: Troubleshooting Attempted
|
||||
description: What troubleshooting steps have you tried?
|
||||
options:
|
||||
- label: Cleared browser cache
|
||||
- label: Tried incognito/private browsing
|
||||
- label: Checked browser console for errors
|
||||
- label: Verified internet connection
|
||||
- label: Tried different browser
|
||||
- label: Logged out and back in
|
||||
- label: Restarted the application
|
||||
|
||||
- type: checkboxes
|
||||
id: medical-impact
|
||||
attributes:
|
||||
label: Medical Context
|
||||
description: Does this issue affect medication management? (Check all that apply)
|
||||
options:
|
||||
- label: Affects medication reminders
|
||||
- label: Affects dose tracking
|
||||
- label: Could impact patient safety
|
||||
- label: Involves sensitive health data
|
||||
|
||||
- type: textarea
|
||||
id: additional-context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: Any other context about the problem
|
||||
placeholder: Add any other context here...
|
||||
validations:
|
||||
required: false
|
||||
120
.github/ISSUE_TEMPLATE/documentation.yml
vendored
Normal file
120
.github/ISSUE_TEMPLATE/documentation.yml
vendored
Normal file
@@ -0,0 +1,120 @@
|
||||
name: 📚 Documentation Issue
|
||||
description: Report problems with documentation or suggest improvements
|
||||
title: '[DOCS] '
|
||||
labels: ['documentation', 'needs-triage']
|
||||
assignees: []
|
||||
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Help us improve our documentation! Report issues or suggest enhancements to make it more helpful.
|
||||
|
||||
- type: dropdown
|
||||
id: doc-type
|
||||
attributes:
|
||||
label: Documentation Type
|
||||
description: What type of documentation needs attention?
|
||||
options:
|
||||
- README.md
|
||||
- API Documentation
|
||||
- Security Guide
|
||||
- Deployment Guide
|
||||
- Contributing Guide
|
||||
- Code Comments
|
||||
- User Guide
|
||||
- Setup Instructions
|
||||
- Other
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: issue-type
|
||||
attributes:
|
||||
label: Issue Type
|
||||
description: What kind of documentation issue is this?
|
||||
options:
|
||||
- Missing information
|
||||
- Incorrect information
|
||||
- Unclear instructions
|
||||
- Outdated content
|
||||
- Broken links
|
||||
- Formatting issues
|
||||
- Spelling/grammar errors
|
||||
- Enhancement suggestion
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: Describe the documentation issue or improvement
|
||||
placeholder: The documentation issue is...
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: location
|
||||
attributes:
|
||||
label: Document Location
|
||||
description: Which file or section needs attention?
|
||||
placeholder: e.g., README.md line 45, docs/API.md section "Authentication"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: current-content
|
||||
attributes:
|
||||
label: Current Content (if applicable)
|
||||
description: Quote the current text that needs to be changed
|
||||
placeholder: Current text...
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: suggested-content
|
||||
attributes:
|
||||
label: Suggested Content
|
||||
description: Provide the corrected or improved content
|
||||
placeholder: Suggested replacement...
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: dropdown
|
||||
id: audience
|
||||
attributes:
|
||||
label: Target Audience
|
||||
description: Who is the primary audience for this documentation?
|
||||
options:
|
||||
- End users
|
||||
- Developers
|
||||
- System administrators
|
||||
- Healthcare providers
|
||||
- Contributors
|
||||
- All audiences
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: checkboxes
|
||||
id: impact
|
||||
attributes:
|
||||
label: Impact
|
||||
description: What areas does this documentation issue affect?
|
||||
options:
|
||||
- label: New user onboarding
|
||||
- label: Development setup
|
||||
- label: Deployment process
|
||||
- label: Security configuration
|
||||
- label: API usage
|
||||
- label: Troubleshooting
|
||||
- label: Contributing process
|
||||
|
||||
- type: textarea
|
||||
id: additional-context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: Any other relevant information
|
||||
placeholder: Additional context...
|
||||
validations:
|
||||
required: false
|
||||
173
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
173
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@@ -0,0 +1,173 @@
|
||||
# Feature Request
|
||||
|
||||
## 🚀 Feature Description
|
||||
|
||||
A clear and concise description of the feature you'd like to see implemented.
|
||||
|
||||
## 💡 Problem Statement
|
||||
|
||||
What problem does this feature solve? What user need does it address?
|
||||
|
||||
## 🎯 Proposed Solution
|
||||
|
||||
Describe your proposed solution in detail. How should this feature work?
|
||||
|
||||
## 🏥 Medical Use Case
|
||||
|
||||
Explain how this feature would improve medication management or patient outcomes.
|
||||
|
||||
## 📱 User Experience
|
||||
|
||||
Describe the user journey and interface for this feature.
|
||||
|
||||
### **User Interface Mockups**
|
||||
|
||||
If applicable, add mockups, wireframes, or descriptions of the UI.
|
||||
|
||||
### **User Flow**
|
||||
|
||||
1. User navigates to...
|
||||
2. User clicks/taps...
|
||||
3. System displays...
|
||||
4. User completes...
|
||||
|
||||
## 🔧 Technical Considerations
|
||||
|
||||
### **Implementation Complexity**
|
||||
|
||||
- [ ] Simple (few hours)
|
||||
- [ ] Medium (few days)
|
||||
- [ ] Complex (few weeks)
|
||||
- [ ] Major (significant architecture changes)
|
||||
|
||||
### **Affected Components**
|
||||
|
||||
- [ ] Frontend UI
|
||||
- [ ] Authentication system
|
||||
- [ ] Database schema
|
||||
- [ ] Email notifications
|
||||
- [ ] Mobile responsiveness
|
||||
- [ ] API endpoints
|
||||
- [ ] Third-party integrations
|
||||
|
||||
### **Dependencies**
|
||||
|
||||
List any external libraries, services, or system changes needed.
|
||||
|
||||
## 🎨 Design Requirements
|
||||
|
||||
### **Visual Design**
|
||||
|
||||
- [ ] Follows existing design system
|
||||
- [ ] Requires new design patterns
|
||||
- [ ] Needs accessibility considerations
|
||||
- [ ] Mobile-first approach needed
|
||||
|
||||
### **Responsive Behavior**
|
||||
|
||||
Describe how this feature should work on different screen sizes.
|
||||
|
||||
## 📊 Success Metrics
|
||||
|
||||
How will we measure the success of this feature?
|
||||
|
||||
- [ ] User engagement metrics
|
||||
- [ ] Medication adherence improvement
|
||||
- [ ] User satisfaction scores
|
||||
- [ ] Performance metrics
|
||||
- [ ] Error rate reduction
|
||||
|
||||
## 🔒 Security & Privacy
|
||||
|
||||
### **Data Handling**
|
||||
|
||||
- [ ] Handles sensitive health data
|
||||
- [ ] Requires data encryption
|
||||
- [ ] Needs audit logging
|
||||
- [ ] Affects user privacy
|
||||
|
||||
### **Compliance**
|
||||
|
||||
- [ ] GDPR considerations
|
||||
- [ ] HIPAA considerations (if applicable)
|
||||
- [ ] Data retention policies
|
||||
- [ ] User consent requirements
|
||||
|
||||
## 🌍 Accessibility
|
||||
|
||||
- [ ] Screen reader compatible
|
||||
- [ ] Keyboard navigation support
|
||||
- [ ] Color contrast compliant
|
||||
- [ ] Mobile accessibility
|
||||
- [ ] Language localization needed
|
||||
|
||||
## 🔄 Alternative Solutions
|
||||
|
||||
What other approaches have you considered? Why is this the preferred solution?
|
||||
|
||||
## 📚 Additional Context
|
||||
|
||||
### **Similar Features**
|
||||
|
||||
Are there similar features in other applications that work well?
|
||||
|
||||
### **User Research**
|
||||
|
||||
Any user feedback, surveys, or research supporting this feature?
|
||||
|
||||
### **Priority Justification**
|
||||
|
||||
Why should this feature be prioritized?
|
||||
|
||||
## 🎯 Acceptance Criteria
|
||||
|
||||
Define specific, testable criteria for when this feature is complete:
|
||||
|
||||
- [ ] Criterion 1
|
||||
- [ ] Criterion 2
|
||||
- [ ] Criterion 3
|
||||
|
||||
## 📋 Implementation Plan (Optional)
|
||||
|
||||
If you have ideas for implementation:
|
||||
|
||||
### **Phase 1: Foundation**
|
||||
|
||||
- [ ] Database changes
|
||||
- [ ] API endpoints
|
||||
- [ ] Basic UI components
|
||||
|
||||
### **Phase 2: Core Feature**
|
||||
|
||||
- [ ] Main functionality
|
||||
- [ ] User interface
|
||||
- [ ] Basic testing
|
||||
|
||||
### **Phase 3: Polish**
|
||||
|
||||
- [ ] Advanced features
|
||||
- [ ] Performance optimization
|
||||
- [ ] Comprehensive testing
|
||||
|
||||
## 🏷️ Labels
|
||||
|
||||
Please suggest appropriate labels:
|
||||
|
||||
- [ ] enhancement
|
||||
- [ ] ui/ux
|
||||
- [ ] backend
|
||||
- [ ] frontend
|
||||
- [ ] security
|
||||
- [ ] accessibility
|
||||
- [ ] documentation
|
||||
- [ ] high-priority
|
||||
- [ ] good-first-issue
|
||||
|
||||
## 📋 Checklist
|
||||
|
||||
- [ ] I have searched existing issues to ensure this is not a duplicate
|
||||
- [ ] I have clearly described the problem and solution
|
||||
- [ ] I have considered the user experience impact
|
||||
- [ ] I have thought about technical implementation
|
||||
- [ ] I have considered security and privacy implications
|
||||
- [ ] I have defined success criteria
|
||||
218
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
218
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
@@ -0,0 +1,218 @@
|
||||
name: ✨ Feature Request
|
||||
description: Suggest a new feature or enhancement
|
||||
title: '[FEATURE] '
|
||||
labels: ['enhancement', 'needs-triage']
|
||||
assignees: []
|
||||
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thank you for suggesting a new feature! Please provide detailed information to help us understand and evaluate your request.
|
||||
|
||||
- type: checkboxes
|
||||
id: pre-check
|
||||
attributes:
|
||||
label: Pre-submission Checklist
|
||||
description: Please verify these items before submitting
|
||||
options:
|
||||
- label: I have searched existing issues to ensure this is not a duplicate
|
||||
required: true
|
||||
- label: I have clearly described the problem and solution
|
||||
required: true
|
||||
- label: I have considered the user experience impact
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: feature-description
|
||||
attributes:
|
||||
label: Feature Description
|
||||
description: A clear and concise description of the feature you'd like to see
|
||||
placeholder: Describe the feature...
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: problem-statement
|
||||
attributes:
|
||||
label: Problem Statement
|
||||
description: What problem does this feature solve? What user need does it address?
|
||||
placeholder: This feature would solve...
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: proposed-solution
|
||||
attributes:
|
||||
label: Proposed Solution
|
||||
description: Describe your proposed solution in detail
|
||||
placeholder: The feature should work by...
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: medical-use-case
|
||||
attributes:
|
||||
label: Medical Use Case
|
||||
description: How would this improve medication management or patient outcomes?
|
||||
placeholder: This would help patients by...
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: user-type
|
||||
attributes:
|
||||
label: Primary User Type
|
||||
description: Who would primarily benefit from this feature?
|
||||
options:
|
||||
- Patients managing their own medications
|
||||
- Caregivers managing medications for others
|
||||
- Healthcare providers
|
||||
- System administrators
|
||||
- All users
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: priority
|
||||
attributes:
|
||||
label: Priority Level
|
||||
description: How important is this feature?
|
||||
options:
|
||||
- Low - Nice to have enhancement
|
||||
- Medium - Would improve user experience
|
||||
- High - Important for better outcomes
|
||||
- Critical - Essential for core functionality
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: complexity
|
||||
attributes:
|
||||
label: Implementation Complexity
|
||||
description: How complex do you think this feature would be to implement?
|
||||
options:
|
||||
- Simple (few hours)
|
||||
- Medium (few days)
|
||||
- Complex (few weeks)
|
||||
- Major (significant architecture changes)
|
||||
- Unknown
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: checkboxes
|
||||
id: affected-components
|
||||
attributes:
|
||||
label: Affected Components
|
||||
description: Which parts of the system would this feature affect?
|
||||
options:
|
||||
- label: Frontend UI
|
||||
- label: Authentication system
|
||||
- label: Database schema
|
||||
- label: Email notifications
|
||||
- label: Mobile responsiveness
|
||||
- label: API endpoints
|
||||
- label: Third-party integrations
|
||||
- label: Admin interface
|
||||
|
||||
- type: textarea
|
||||
id: user-flow
|
||||
attributes:
|
||||
label: User Experience Flow
|
||||
description: Describe the user journey for this feature
|
||||
placeholder: |
|
||||
1. User navigates to...
|
||||
2. User clicks/taps...
|
||||
3. System displays...
|
||||
4. User completes...
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: success-metrics
|
||||
attributes:
|
||||
label: Success Metrics
|
||||
description: How will we measure the success of this feature?
|
||||
placeholder: |
|
||||
- User engagement metrics
|
||||
- Medication adherence improvement
|
||||
- User satisfaction scores
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: checkboxes
|
||||
id: design-requirements
|
||||
attributes:
|
||||
label: Design Requirements
|
||||
description: What design considerations are important?
|
||||
options:
|
||||
- label: Follows existing design system
|
||||
- label: Requires new design patterns
|
||||
- label: Needs accessibility considerations
|
||||
- label: Mobile-first approach needed
|
||||
- label: Dark/light theme support
|
||||
|
||||
- type: checkboxes
|
||||
id: security-privacy
|
||||
attributes:
|
||||
label: Security & Privacy Considerations
|
||||
description: Does this feature involve sensitive data or security concerns?
|
||||
options:
|
||||
- label: Handles sensitive health data
|
||||
- label: Requires data encryption
|
||||
- label: Needs audit logging
|
||||
- label: Affects user privacy
|
||||
- label: Requires user consent
|
||||
- label: GDPR compliance needed
|
||||
- label: HIPAA considerations
|
||||
|
||||
- type: checkboxes
|
||||
id: accessibility
|
||||
attributes:
|
||||
label: Accessibility Requirements
|
||||
description: What accessibility features are needed?
|
||||
options:
|
||||
- label: Screen reader compatible
|
||||
- label: Keyboard navigation support
|
||||
- label: Color contrast compliant
|
||||
- label: Mobile accessibility
|
||||
- label: Language localization needed
|
||||
|
||||
- type: textarea
|
||||
id: alternatives
|
||||
attributes:
|
||||
label: Alternative Solutions
|
||||
description: What other approaches have you considered?
|
||||
placeholder: I also considered...
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: acceptance-criteria
|
||||
attributes:
|
||||
label: Acceptance Criteria
|
||||
description: Define specific, testable criteria for when this feature is complete
|
||||
placeholder: |
|
||||
- [ ] Criterion 1
|
||||
- [ ] Criterion 2
|
||||
- [ ] Criterion 3
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: additional-context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: Any other context, mockups, or references
|
||||
placeholder: Additional information...
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: similar-features
|
||||
attributes:
|
||||
label: Similar Features
|
||||
description: Are there similar features in other applications that work well?
|
||||
placeholder: Similar implementations I've seen...
|
||||
validations:
|
||||
required: false
|
||||
179
.github/pull_request_template.md
vendored
Normal file
179
.github/pull_request_template.md
vendored
Normal file
@@ -0,0 +1,179 @@
|
||||
# Pull Request
|
||||
|
||||
## 📝 Description
|
||||
|
||||
Brief description of changes made in this pull request.
|
||||
|
||||
## 🔗 Related Issues
|
||||
|
||||
Fixes #(issue_number)
|
||||
Closes #(issue_number)
|
||||
Related to #(issue_number)
|
||||
|
||||
## 🎯 Type of Change
|
||||
|
||||
- [ ] 🐛 Bug fix (non-breaking change which fixes an issue)
|
||||
- [ ] ✨ New feature (non-breaking change which adds functionality)
|
||||
- [ ] 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
|
||||
- [ ] 📚 Documentation update
|
||||
- [ ] 🔧 Code refactoring (no functional changes)
|
||||
- [ ] ⚡ Performance improvement
|
||||
- [ ] 🧪 Test coverage improvement
|
||||
- [ ] 🔒 Security enhancement
|
||||
- [ ] 🎨 UI/UX improvement
|
||||
|
||||
## 🧪 Testing
|
||||
|
||||
Describe the tests you ran to verify your changes.
|
||||
|
||||
### **Test Environment**
|
||||
|
||||
- [ ] Local development
|
||||
- [ ] Docker environment
|
||||
- [ ] Production-like environment
|
||||
|
||||
### **Test Cases**
|
||||
|
||||
- [ ] Unit tests pass
|
||||
- [ ] Integration tests pass
|
||||
- [ ] Manual testing completed
|
||||
- [ ] Cross-browser testing (if UI changes)
|
||||
- [ ] Mobile testing (if responsive changes)
|
||||
- [ ] Accessibility testing (if UI changes)
|
||||
|
||||
### **New Tests Added**
|
||||
|
||||
- [ ] Unit tests for new functionality
|
||||
- [ ] Integration tests for API changes
|
||||
- [ ] End-to-end tests for user flows
|
||||
|
||||
## 📱 Screenshots (if applicable)
|
||||
|
||||
Include screenshots for UI changes.
|
||||
|
||||
### **Before**
|
||||
|
||||
[Add screenshot of current state]
|
||||
|
||||
### **After**
|
||||
|
||||
[Add screenshot of new state]
|
||||
|
||||
### **Mobile View**
|
||||
|
||||
[Add mobile screenshots if applicable]
|
||||
|
||||
## 🔒 Security Considerations
|
||||
|
||||
- [ ] No sensitive data exposed in logs
|
||||
- [ ] Authentication/authorization properly implemented
|
||||
- [ ] Input validation in place
|
||||
- [ ] SQL injection prevention (if applicable)
|
||||
- [ ] XSS prevention (if applicable)
|
||||
- [ ] CSRF protection maintained
|
||||
|
||||
## 📊 Performance Impact
|
||||
|
||||
- [ ] No performance degradation
|
||||
- [ ] Performance improvements measured
|
||||
- [ ] Database queries optimized
|
||||
- [ ] Bundle size impact acceptable
|
||||
- [ ] Memory usage acceptable
|
||||
|
||||
## 🔄 Breaking Changes
|
||||
|
||||
If this is a breaking change, describe:
|
||||
|
||||
1. What breaks
|
||||
2. Migration path for users
|
||||
3. Version bump requirements
|
||||
|
||||
## 📚 Documentation
|
||||
|
||||
- [ ] Code is self-documenting with clear naming
|
||||
- [ ] Complex logic has comments
|
||||
- [ ] API documentation updated (if applicable)
|
||||
- [ ] README updated (if applicable)
|
||||
- [ ] User documentation updated (if applicable)
|
||||
|
||||
## 📋 Checklist
|
||||
|
||||
### **Code Quality**
|
||||
|
||||
- [ ] Code follows project style guidelines
|
||||
- [ ] Self-review of code completed
|
||||
- [ ] Code is commented where necessary
|
||||
- [ ] No console.log statements left in code
|
||||
- [ ] Error handling implemented properly
|
||||
|
||||
### **Testing & Validation**
|
||||
|
||||
- [ ] All tests pass locally
|
||||
- [ ] TypeScript compilation succeeds
|
||||
- [ ] ESLint passes without errors
|
||||
- [ ] Build succeeds without warnings
|
||||
- [ ] Manual testing completed
|
||||
|
||||
### **Review Preparation**
|
||||
|
||||
- [ ] Pull request title is descriptive
|
||||
- [ ] Pull request description is complete
|
||||
- [ ] Commits are atomic and well-described
|
||||
- [ ] No merge conflicts
|
||||
- [ ] Base branch is correct
|
||||
|
||||
### **Deployment Readiness**
|
||||
|
||||
- [ ] Environment variables documented (if new)
|
||||
- [ ] Database migrations included (if needed)
|
||||
- [ ] Docker configuration updated (if needed)
|
||||
- [ ] Deployment scripts updated (if needed)
|
||||
|
||||
## 🎯 Review Focus Areas
|
||||
|
||||
Please pay special attention to:
|
||||
|
||||
- [ ] Security implications
|
||||
- [ ] Performance impact
|
||||
- [ ] Error handling
|
||||
- [ ] User experience
|
||||
- [ ] Code maintainability
|
||||
- [ ] Test coverage
|
||||
|
||||
## 📝 Additional Notes
|
||||
|
||||
Any additional information for reviewers:
|
||||
|
||||
### **Design Decisions**
|
||||
|
||||
Explain any significant design or architecture decisions made.
|
||||
|
||||
### **Trade-offs**
|
||||
|
||||
Describe any trade-offs made and why they were necessary.
|
||||
|
||||
### **Future Work**
|
||||
|
||||
List any follow-up work that should be done in future PRs.
|
||||
|
||||
## 🚀 Deployment Notes
|
||||
|
||||
Special considerations for deployment:
|
||||
|
||||
- [ ] Requires environment variable changes
|
||||
- [ ] Requires database migration
|
||||
- [ ] Requires cache clearing
|
||||
- [ ] Requires dependency updates
|
||||
- [ ] No special deployment requirements
|
||||
|
||||
---
|
||||
|
||||
**Reviewer Checklist:**
|
||||
|
||||
- [ ] Code review completed
|
||||
- [ ] Tests reviewed and verified
|
||||
- [ ] Documentation reviewed
|
||||
- [ ] Security review completed (if applicable)
|
||||
- [ ] Performance review completed (if applicable)
|
||||
- [ ] Breaking changes noted and approved
|
||||
- [ ] Deployment considerations reviewed
|
||||
110
.github/workflows/build-deploy.yml
vendored
Normal file
110
.github/workflows/build-deploy.yml
vendored
Normal file
@@ -0,0 +1,110 @@
|
||||
name: Build and Deploy
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main, develop]
|
||||
pull_request:
|
||||
branches: [main]
|
||||
|
||||
env:
|
||||
REGISTRY: ghcr.io
|
||||
IMAGE_NAME: ${{ github.repository }}
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Log in to Container Registry
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ${{ env.REGISTRY }}
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Extract metadata
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
||||
tags: |
|
||||
type=ref,event=branch
|
||||
type=ref,event=pr
|
||||
type=sha
|
||||
|
||||
- name: Build and push Docker image
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: ./docker
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
build-args: |
|
||||
VITE_COUCHDB_URL=${{ vars.VITE_COUCHDB_URL || 'http://localhost:5984' }}
|
||||
VITE_COUCHDB_USER=${{ vars.VITE_COUCHDB_USER || 'admin' }}
|
||||
VITE_COUCHDB_PASSWORD=${{ secrets.VITE_COUCHDB_PASSWORD || 'change-this-secure-password' }}
|
||||
APP_BASE_URL=${{ vars.APP_BASE_URL || 'http://localhost:8080' }}
|
||||
VITE_GOOGLE_CLIENT_ID=${{ vars.VITE_GOOGLE_CLIENT_ID || '' }}
|
||||
VITE_GITHUB_CLIENT_ID=${{ vars.VITE_GITHUB_CLIENT_ID || '' }}
|
||||
NODE_ENV=production
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
|
||||
- name: Build with Bake (Alternative)
|
||||
if: false # Set to true to use bake instead
|
||||
uses: docker/bake-action@v4
|
||||
with:
|
||||
workdir: ./docker
|
||||
files: docker-bake.hcl
|
||||
targets: prod
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
needs: build
|
||||
if: github.event_name == 'pull_request'
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Bun
|
||||
uses: oven-sh/setup-bun@v1
|
||||
with:
|
||||
bun-version: latest
|
||||
|
||||
- name: Install dependencies
|
||||
run: bun install --frozen-lockfile
|
||||
|
||||
- name: Run linting
|
||||
run: bun run lint
|
||||
|
||||
- name: Run type checking
|
||||
run: bun run type-check
|
||||
|
||||
- name: Run tests
|
||||
run: bun run test
|
||||
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [build, test]
|
||||
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
|
||||
environment: production
|
||||
|
||||
steps:
|
||||
- name: Deploy to production
|
||||
run: |
|
||||
echo "Deploy to production server"
|
||||
# Add your deployment commands here
|
||||
# Example: SSH to server and pull the new image
|
||||
Reference in New Issue
Block a user