Put your Angular skills to the test with hands-on exercises, coding challenges, and full project ideas. Build real applications and solidify your understanding of Angular concepts.
Build a complete todo application with the following features:
// Todo model
export interface Todo {
id: number;
title: string;
completed: boolean;
createdAt: Date;
}
// Core requirements
@Component({ ... })
export class TodoComponent {
// Use signal for state
todos = signal<Todo[]>([]);
filter = signal<'all' | 'active' | 'completed'>('all');
// Computed derived state
filteredTodos = computed(() => {
const currentFilter = this.filter();
return this.todos().filter(todo => {
if (currentFilter === 'active') return !todo.completed;
if (currentFilter === 'completed') return todo.completed;
return true;
});
});
}
Create a data dashboard that displays statistics and charts:
HttpClientImplement a full authentication flow:
debounceTime and switchMap to query an APIinterval and map to display a live clockThis curriculum mirrors what you would find in a professional Angular bootcamp. Each module builds on the previous one.
Build a weather application that fetches data from the OpenWeatherMap API. Show current conditions, forecasts, and allow users to search by city. Use signals for state management and Angular Material for the UI.
@Injectable({ providedIn: 'root' })
export class WeatherService {
private apiKey = environment.weatherApiKey;
private baseUrl = 'https://api.openweathermap.org/data/2.5';
getCurrentWeather(city: string): Observable<WeatherData> {
return this.http.get<WeatherData>(`${this.baseUrl}/weather`, {
params: { q: city, appid: this.apiKey, units: 'metric' }
});
}
}
Create a contact management app with CRUD operations, search, filtering, and grouping. Store data using a service with BehaviorSubject. Implement a master-detail layout.
Build a simple blog with post creation, editing, categories, and comments. Use Angular Universal for SSR to improve SEO. Implement a rich text editor (Quill or TinyMCE) for writing posts.