# /projects - Hands-On Projects
## Practice Your Angular Skills
Master Angular through 50+ carefully designed hands-on projects. Each project reinforces specific concepts and builds toward real-world applications.
---
## 🎯 Projects by Difficulty Level
### Beginner Projects (1-2 weeks each)
#### Project 1: Personal Portfolio Website
**Topics**: Components, templates, basic routing, styling
**Duration**: 5-7 days
**Skills**: HTML, CSS, TypeScript basics
**Requirements**:
- Home page with personal info
- About page
- Projects showcase
- Contact section
- Responsive design
**Learning Outcomes**:
✅ Component structure
✅ Template syntax
✅ Routing between pages
✅ CSS in Angular
**Code Starter**:
```typescript
@Component({
selector: 'app-portfolio',
template: `
`
})
```
---
#### Project 2: Todo Application
**Topics**: Component interaction, event binding, @Input/@Output
**Duration**: 3-5 days
**Skills**: Components, services, lists
**Requirements**:
- Add, delete, complete todos
- Filter (all, active, completed)
- Save to localStorage
- Edit todo titles
**Learning Outcomes**:
✅ Component communication
✅ Event handling
✅ List rendering
✅ Local storage
**Key Components**:
- TodoListComponent
- TodoItemComponent
- TodoService
---
#### Project 3: Weather App
**Topics**: HTTP requests, services, API integration
**Duration**: 5-7 days
**Skills**: HttpClient, services, templates
**Requirements**:
- Search for cities
- Display weather information
- Show 5-day forecast
- Store favorites
- Display weather icons
**Learning Outcomes**:
✅ HTTP GET requests
✅ Service architecture
✅ API integration
✅ Data display
**API Suggestion**: OpenWeatherMap API
---
#### Project 4: Registration Form
**Topics**: Template-driven forms, validation, user input
**Duration**: 3-5 days
**Skills**: Forms, validation, ngModel
**Requirements**:
- Form fields (name, email, password)
- Client-side validation
- Display errors
- Submit handling
- Confirmation page
**Learning Outcomes**:
✅ Template-driven forms
✅ Built-in validators
✅ Form state
✅ Form submission
---
#### Project 5: Blog Application
**Topics**: CRUD operations, routing, services
**Duration**: 7-10 days
**Skills**: Services, routing, HTTP, templates
**Requirements**:
- List blog posts
- View post detail
- Create new post
- Edit existing post
- Delete post
- Comment system
**Learning Outcomes**:
✅ CRUD operations
✅ Route parameters
✅ Service patterns
✅ Navigation
---
### Intermediate Projects (2-4 weeks each)
#### Project 6: E-Commerce Shopping Cart
**Topics**: Reactive forms, state management basics, cart operations
**Duration**: 10-14 days
**Requirements**:
- Product listing with filters
- Shopping cart functionality
- Checkout form (reactive)
- Order summary
- Product reviews
**Learning Outcomes**:
✅ Reactive forms
✅ State management
✅ Cart operations
✅ Complex forms
---
#### Project 7: Real-Time Chat Application
**Topics**: WebSockets, services, component communication
**Duration**: 14-21 days
**Requirements**:
- User registration/login
- Real-time messaging
- User list
- Typing indicators
- Message history
- Notifications
**Learning Outcomes**:
✅ WebSocket integration
✅ Real-time data
✅ User authentication
✅ Service patterns
---
#### Project 8: Analytics Dashboard
**Topics**: RxJS operators, data transformation, charting
**Duration**: 10-14 days
**Requirements**:
- Multiple data sources
- Real-time updates
- Various chart types
- Data filtering
- Export functionality
- Performance metrics
**Learning Outcomes**:
✅ RxJS operators
✅ combineLatest, mergeMap
✅ Chart libraries
✅ Data transformation
---
#### Project 9: Task Management System
**Topics**: Drag-and-drop, forms, services, notifications
**Duration**: 12-16 days
**Requirements**:
- Create tasks with details
- Kanban board (drag-and-drop)
- Task filtering/sorting
- Team collaboration
- Due date reminders
- Activity log
**Learning Outcomes**:
✅ Angular CDK drag-drop
✅ Complex component interactions
✅ Service architecture
✅ User notifications
---
#### Project 10: Job Portal
**Topics**: Advanced routing, filtering, search, forms
**Duration**: 14-21 days
**Requirements**:
- Job listings with filters
- Advanced search
- Job detail page
- Application form
- User profiles
- Saved jobs
**Learning Outcomes**:
✅ Query parameters
✅ Complex filtering
✅ Route parameters
✅ Form patterns
---
### Advanced Projects (4-8 weeks each)
#### Project 11: Social Media Platform
**Topics**: NgRx state management, lazy loading, authorization
**Duration**: 28-42 days
**Requirements**:
- User authentication
- Post creation and feed
- Follow/unfollow users
- Comments and likes
- Notifications system
- User profiles
- Search functionality
**Learning Outcomes**:
✅ NgRx patterns
✅ Authentication guards
✅ Lazy loading features
✅ Complex state management
---
#### Project 12: Project Management Tool
**Topics**: State management, drag-drop, complex forms, real-time
**Duration**: 28-42 days
**Requirements**:
- Project creation
- Task boards (Kanban)
- Team management
- Notifications
- File uploads
- Comments on tasks
- Time tracking
**Learning Outcomes**:
✅ NgRx entity adapters
✅ Complex UI interactions
✅ Real-time updates
✅ File handling
---
#### Project 13: Learning Platform
**Topics**: Advanced routing, lazy loading, progress tracking, assessments
**Duration**: 35-49 days
**Requirements**:
- Course catalog
- Lesson content with video
- Progress tracking
- Quizzes and assessments
- Certificate generation
- User dashboard
- Discussion forums
**Learning Outcomes**:
✅ Feature module organization
✅ Lazy loading patterns
✅ Complex state
✅ Advanced routing
---
#### Project 14: Health & Fitness App
**Topics**: Charts, data visualization, PWA, offline support
**Duration**: 28-42 days
**Requirements**:
- User health data tracking
- Workout logging
- Progress charts
- Nutrition tracking
- Social features
- Offline functionality
- Mobile optimization
**Learning Outcomes**:
✅ Data visualization
✅ PWA implementation
✅ Offline support
✅ Mobile optimization
---
#### Project 15: Enterprise Dashboard
**Topics**: Performance optimization, accessibility, testing, monitoring
**Duration**: 35-49 days
**Requirements**:
- Complex analytics
- Real-time data
- Multiple chart types
- Export to PDF/Excel
- Accessibility compliance
- Comprehensive testing
- Monitoring/logging
**Learning Outcomes**:
✅ Performance optimization
✅ Accessibility (WCAG)
✅ Advanced testing
✅ Monitoring
---
## 📋 Project Selection Guide
### By Topic Focus
**Learning TypeScript?**
- Project 1: Portfolio
- Project 5: Blog App
- Project 6: Shopping Cart
**Mastering Components?**
- Project 2: Todo App
- Project 4: Registration Form
- Project 9: Task Manager
**RxJS & Observables?**
- Project 3: Weather App
- Project 8: Analytics
- Project 11: Social Media
**Forms & Validation?**
- Project 4: Registration
- Project 6: Shopping Cart
- Project 10: Job Portal
**Routing & Navigation?**
- Project 1: Portfolio
- Project 5: Blog
- Project 7: Chat
**State Management?**
- Project 11: Social Media
- Project 12: Project Mgmt
- Project 15: Dashboard
**Testing & Performance?**
- Project 14: Health App
- Project 15: Dashboard
- Any advanced project
---
## 🎓 Project Progression Path
```
Beginner
├── Project 1: Portfolio
├── Project 2: Todo App
├── Project 3: Weather App
├── Project 4: Registration
└── Project 5: Blog
↓
Intermediate
├── Project 6: Shopping Cart
├── Project 7: Chat
├── Project 8: Analytics
├── Project 9: Task Manager
└── Project 10: Job Portal
↓
Advanced
├── Project 11: Social Media
├── Project 12: Project Mgmt
├── Project 13: Learning Platform
├── Project 14: Health App
└── Project 15: Enterprise Dashboard
```
---
## 🚀 Project Best Practices
### Before Starting
- [ ] Understand all project requirements
- [ ] Break down into smaller tasks
- [ ] Plan component structure
- [ ] Design database schema (if applicable)
- [ ] Setup version control (Git)
### During Development
- [ ] Follow Angular style guide
- [ ] Commit regularly with clear messages
- [ ] Write unit tests as you go
- [ ] Document complex code
- [ ] Test edge cases
### After Completion
- [ ] Review code quality
- [ ] Add E2E tests
- [ ] Optimize performance
- [ ] Write documentation
- [ ] Deploy to production
- [ ] Get code review
---
## 💡 Getting Help
For each project:
- **Stuck on concept?** → Use `/explore` to find relevant agent
- **Need specific skills?** → Review agent's SKILL.md
- **Want to learn more?** → Use `/learn` for detailed guidance
- **Test your knowledge?** → Use `/assess` after project
---
## 🏆 Project Completion Checklist
After each project, verify:
- [ ] All features implemented
- [ ] Responsive design
- [ ] Error handling
- [ ] Code follows best practices
- [ ] Unit tests (min 70% coverage)
- [ ] E2E tests for critical flows
- [ ] Accessible (WCAG 2.1)
- [ ] Performance optimized
- [ ] Documentation complete
- [ ] Code review passed
---
## 📊 Project Statistics
| Level | Projects | Duration | Skills |
|-------|----------|----------|--------|
| Beginner | 5 | 5-7 weeks | 15-20 |
| Intermediate | 5 | 10-15 weeks | 20-30 |
| Advanced | 5 | 15-25 weeks | 30-40+ |
**Total**: 15 projects, 30-47 weeks, mastery of 60+ Angular/Web skills
---
## 🎁 Bonus Projects
### Full-Stack Development
- Build backend API (Node.js/Express)
- Connect Angular frontend
- Deploy together
- Full CRUD with backend
### Open Source Contributions
- Contribute to Angular libraries
- Fix bugs in projects
- Create reusable components
- Publish to npm
### Portfolio Showcase
- Deploy projects online
- Create GitHub portfolios
- Document your work
- Build personal brand
---
## Next Steps
1. **Choose your level**: Beginner, Intermediate, or Advanced
2. **Pick your first project**: Start with recommended sequence
3. **Study required topics**: Review agent skills needed
4. **Build the project**: Implement all requirements
5. **Get feedback**: Share on GitHub, get reviews
6. **Move to next project**: Progress through the path
---
**Ready to Build?** Choose a project and start coding! 🛠️
Use `/learn` for structured learning paths and `/explore` to understand concepts better.