This repository documents completed coursework from SOFT207 Angular objectives and a final project web app.
It is organized as an objective-based portfolio that shows progression from routing and modular app structure through forms, API integration, authentication, and final CRUD delivery.
- Angular application architecture with feature-based organization
- Route design, navigation flow, and guard-based access control
- Reactive forms with validation and user-friendly error handling
- Public API integration with typed service models
- CRUD operations across list/detail/create/edit workflows
- Authentication/authorization fundamentals with protected pages
- Final project delivery with both frontend and a small backend service
Open Table of Contents
- Portfolio Summary
- How to Run Projects
- Objective Portfolio (All Objectives)
- Objective 1 - Angular Routing, Feature Modules, Route Params, Guards, Reusable Components
- Objective 2 - Reactive Forms for Data Collection
- Objective 3 - Tailwind CSS with Angular
- Objective 4 - Interfaces vs Types in TypeScript
- Objective 5 - Angular and Public API Integration
- Objective 6 - JWT Authentication and Authorization in Angular
- Objective 7 - Final Project: Angular CRUD Web App
- Skills Demonstrated Across the Full Course
- Notes
Open Portfolio Summary
- Course: SOFT207 Angular
- Repository purpose: Store and present completed objective-driven Angular work as a portfolio artifact
- Structure: Objective prompt files + app folders implementing those objectives
- Main app folders:
learning-angular-app-mybooksmyDevices - Final Project - Angular CRUD Web App /learning-angular-app-mydevices
- Final deliverable: A complete Angular CRUD app (
myDevices) using the required public API with validated forms, routing, auth pages, and 404 handling
Open How to Run Projects
- General: Open a terminal in this repository,
cdinto the app folder, install dependencies withnpm install, then run withnpm start. - myBooks app:
cd "learning-angular-app-mybooks"npm installnpm start
- Objective 7 Final Project (
myDevices):cd "myDevices - Final Project - Angular CRUD Web App /learning-angular-app-mydevices"npm installnpm start
- Optional checks inside either Angular app folder:
npm test -- --watch=falsenpx tsc -p tsconfig.app.json --noEmit
Open Objective 1 Details
- Objective focus:
- Build foundational routing and reusable component patterns.
- Contains:
Objective 1 - Angular Routing, Feature Modules, Route Params, Guards, Reusable Components.txt
- Implementation highlights:
- Multi-route app structure setup
- Guard and route-parameter usage patterns
- Reusable UI component foundation
- Skills demonstrated:
- Route architecture
- Shared component patterns
- Feature organization
Open Objective 2 Details
- Objective focus:
- Build reactive forms with clear validation and feedback.
- Contains:
Objective 2 - Reactive Forms for Data Collection.txt
- Implementation highlights:
- Form controls and validators
- Error messaging and submit gating
- Skills demonstrated:
- Reactive form composition
- Validation-driven UX
Open Objective 3 Details
- Objective focus:
- Apply Tailwind CSS utilities within Angular pages/components.
- Contains:
Objective 3 - Tailwind CSS with Angular.txt
- Implementation highlights:
- Utility-first styling integration
- Consistent page-level visual structure
- Skills demonstrated:
- Tailwind integration
- Responsive UI composition
Open Objective 4 Details
- Objective focus:
- Practice TypeScript modeling decisions for app data.
- Contains:
Objective 4 - Interfaces vs Types in TypeScript.txt
- Implementation highlights:
- Strong typing for API models and component/service contracts
- Skills demonstrated:
- Type modeling discipline
- Code readability and maintainability
Open Objective 5 Details
- Objective focus:
- Integrate Angular with a Public API for list/detail interactions.
- Contains:
Objective 5 - Angular & Public API Integration .txt
- Implementation highlights:
- Typed API service methods
- Loading and error handling patterns
- Data presentation views
- Skills demonstrated:
- HttpClient service architecture
- API state handling
Open Objective 6 Details
- Objective focus:
- Implement login/register/account flows and role-aware access patterns.
- Contains:
Objective 6 - JWT Authentication & Authorization in Angular.txt
- Implementation highlights:
- Authentication service + token/session handling
- Route guards for protected pages
- Account area integration
- Skills demonstrated:
- Auth flow design
- Authorization checks
Open Objective 7 Details
- Objective focus:
- Deliver a complete Angular CRUD app against the required Public API.
- Contains:
myDevices - Final Project - Angular CRUD Web App /Objective 7 - Final Project - Angular CRUD Web App .txtmyDevices - Final Project - Angular CRUD Web App /README.mdmyDevices - Final Project - Angular CRUD Web App /learning-angular-app-mydevices/
- Implementation highlights:
- Full CRUD pages (Home, List, Details, Create, Edit, 404)
- Form validation (
nameminimum length, data field validation, disabled invalid submit) - API service methods for GET/POST/PUT/PATCH/DELETE
- Loading/error states with user-facing feedback
- Login/Register/Account area and guarded routes
- Skills demonstrated:
- End-to-end Angular project assembly
- CRUD workflow implementation
- Project documentation and structure for submission
Open Skills Demonstrated Across the Full Course
- Angular routing and navigation architecture
- Feature-folder project organization
- Reactive forms and validation UX
- Typed service/data model design in TypeScript
- Public API integration and HTTP state handling
- CRUD flow implementation across multiple routed pages
- Authentication and authorization fundamentals
- Tailwind CSS styling in Angular applications
- Testing and type-checking workflows
Open Notes
- This repository is organized to make objective-by-objective review straightforward.
- For final project specifics, see:
myDevices - Final Project - Angular CRUD Web App /README.md