A comprehensive, interactive Angular framework course designed for navigation in Emacs org-mode. This course assumes knowledge of JavaScript, CSS, and HTML, focusing exclusively on teaching Angular concepts, patterns, and best practices.
This repository contains a complete Angular learning path structured as an org-mode document, making it perfect for developers who prefer learning within their Emacs environment.
angular-course.org- The complete 8-module Angular course- Progressive learning path from fundamentals to advanced topics
- Interactive TODO items for tracking progress
- Code examples with syntax highlighting
- Angular Fundamentals - Components, templates, data binding, directives, pipes
- Component Architecture - Lifecycle hooks, component communication, content projection
- Services & Dependency Injection - DI hierarchy, providers, injection tokens
- Routing & Navigation - Route configuration, guards, lazy loading
- Forms - Template-driven and reactive forms, validation
- HTTP & Observables - HttpClient, RxJS operators, interceptors
- State Management - Component state, signals, NgRx basics
- Advanced Topics - Performance optimization, testing, build configuration
- Hands-on exercises for each module
- Progressive difficulty
- Complete solutions included
- Final project specification for a task management system
component-example.ts- Basic component patternsservice-example.ts- Service with HTTP operationsreactive-form-example.ts- Advanced form with validationdirective-example.ts- Custom directive implementations
- Emacs with org-mode
- Node.js and npm installed
- Angular CLI (install with
npm install -g @angular/cli) - Basic knowledge of JavaScript, HTML, and CSS
# Clone the repository
git clone https://github.com/cloudstreet-dev/Angular-Learning.git
cd Angular-Learning
# Open the course in Emacs
emacs angular-course.org# Create a new Angular project for exercises
ng new angular-practice
cd angular-practice
ng serve| Key Binding | Action |
|---|---|
TAB | Fold/unfold section |
S-TAB | Cycle global visibility |
C-c C-n | Next heading |
C-c C-p | Previous heading |
C-c C-o | Follow link |
C-c C-t | Toggle TODO state |
C-c C-c | Execute code block |
- Start with the Course Introduction
- Work through each module sequentially
- Complete exercises after each concept
- Mark TODO items as DONE as you progress
- Build the final project to consolidate learning
- Code blocks can be executed directly in org-mode
- TypeScript examples are for reference and should be implemented in your Angular project
- Use
ng generatecommands to create components/services as you learn
- Read the concept explanations
- Study the code examples
- Practice with the provided exercises
- Build something using the concepts
- Review by teaching someone else
- Component-based architecture
- Reactive programming with RxJS
- Type safety with TypeScript
- Performance optimization
- Testing strategies
- Clean code principles
- Angular 16+ features including signals
- RxJS for reactive programming
- TypeScript advanced features
- Angular CLI
- NgRx for state management
- Testing with Jasmine/Karma
- Build optimization techniques
- TODO items for tracking progress
- Exercises with solutions
- Real-world examples
- Progressive complexity
- Full org-mode support
- Collapsible sections
- Internal navigation links
- Syntax highlighted code blocks
- Export capabilities (HTML, PDF, etc.)
Contributions are welcome! Feel free to:
- Add more exercises
- Improve explanations
- Fix errors
- Add real-world examples
- Translate to other languages
This project is licensed under the MIT License - see the LICENSE file for details.
- Angular team for the excellent framework
- Emacs org-mode community
- All contributors and learners
If you find any issues or have suggestions:
- Open an issue on GitHub
- Submit a pull request
- Contact through GitHub
- [ ] Install Node.js and npm
- [ ] Install Angular CLI globally
- [ ] Clone this repository
- [ ] Open
angular-course.orgin Emacs - [ ] Create a practice Angular project
- [ ] Start with Module 1
- [ ] Complete exercises as you progress
- [ ] Build the final project
Happy Learning! Start your Angular journey by opening angular-course.org in Emacs and diving into Module 1! 🚀