Files
d280-javascript/PROJECT-DELIVERABLES.md

5.3 KiB

D280 JavaScript Programming - Project Deliverables

Student: 010659768

1. Repository Information

Repository URL: https://git.n8lab.io/Shenron/d280-javascript
Branch: Working
All Code Pushed: Yes

2. Project Completion Checklist

Phase A: Repository & Configuration

  • Angular project initialized (v21.1.4)
  • README with Student ID
  • README with complete ng --version output
  • All required config files present:
    • tsconfig.app.json
    • tsconfig.json
    • tsconfig.spec.json
    • angular.json
    • package.json
    • package-lock.json
  • SVG map file included
  • Git commit for Phase A

Phase B/E: UI Layout

  • Two-column layout implemented
  • Column 1: Interactive SVG map
  • Column 2: Country data display area
  • Responsive design
  • Professional styling
  • Git commit for Phase E

Phase C/G: World Bank API Integration

  • WorldBankService created with HttpClient
  • Service method accepts 2-letter country code
  • Service method returns Observable
  • Component method triggers service call
  • Component sets local variable for display
  • Six data properties retrieved and displayed:
    1. Country Name
    2. Capital City
    3. Region
    4. Income Level
    5. Longitude (Custom 1)
    6. Latitude (Custom 2)
  • Git commit for Phase C

Phase D: Routing Configuration

  • Angular Router configured
  • Root path (/) redirects to /map
  • MapComponent assigned to /map route
  • Git commit for Phase D

Phase F: SVG Interactivity

  • SVG converted to Angular component
  • Event binding on country paths
  • Click handlers emit country codes
  • Mouse hover effects implemented
  • Country selection triggers API call
  • Git commit for Phase F

Phase G: Documentation

  • Comprehensive README
  • Project description
  • Architecture overview
  • All phases documented
  • Git commit for Phase G

3. Technical Requirements Verification

  • Framework: Angular 21.1.4
  • Language: JavaScript/TypeScript
  • No External Libraries: Only Angular used
  • Version Control: Gitea (git.n8lab.io)
  • Working Branch: All commits on Working branch
  • Individual Commits: Each phase (C, D, E, F) has dedicated commit

4. Commit History

Total Commits: 12
Core Phase Commits: 6 (A, D, C, E, F, G)
Bug Fix Commits: 6 (SVG loading, routing, layout fixes)

Core Phase Commits:

  1. 1e8d42a - Phase A: Initial project setup with Angular 21.1.4
  2. 6e0d533 - Phase A: Add Student ID and SVG map asset
  3. 6d5846c - Phase D: Configure routing with root redirect to /map
  4. 32fe687 - Phase C: Create World Bank API service with HttpClient
  5. d5728a0 - Phase E: Implement two-column UI layout with SVG map and data display
  6. e61e507 - Phase F: Add SVG interactivity with event binding for country selection
  7. f900889 - Phase G: Update README with comprehensive project documentation

Bug Fixes & Improvements:

  1. 244f379 - Fix: Move SVG to public folder for Angular 21 asset serving
  2. 8e3c1fa - Fix: Replace default Angular template with router-outlet
  3. adb510b - Fix: Simplify SVG loading using object tag instead of HttpClient
  4. 52591fb - Clean up: Remove debug text from map component
  5. c4b6ab4 - Fix: Increase SVG size and improve click event handling with load listener

5. Application Features

Functionality

  • Interactive world map with clickable countries
  • Real-time data fetching from World Bank API
  • Six country properties displayed
  • Hover effects on map countries
  • Error handling for API failures
  • Loading states during API calls
  • Responsive two-column layout
  • Automatic routing from root to /map

Code Quality

  • TypeScript interfaces for type safety
  • Separation of concerns (services, components)
  • Observable pattern with RxJS
  • Clean component architecture
  • Professional CSS styling
  • Console logging for debugging

6. Build & Test Results

Build Status: Successful
Build Output: /root/d280-javascript/dist/d280-javascript
Dev Server: Runs on http://localhost:4200
Production Build Size: 215.94 kB (58.44 kB gzipped)

7. Required Files in Repository

All required files are present in the Working branch:

  • angular.json
  • package.json
  • package-lock.json
  • tsconfig.json
  • tsconfig.app.json
  • tsconfig.spec.json
  • README.md
  • public/map-image.svg
  • Complete Angular application source code

8. Submission Checklist

  • Repository URL ready for submission
  • commit-history.txt generated
  • All code committed and pushed to Working branch
  • README contains Student ID and version info
  • All required configuration files present
  • Application builds successfully
  • Application runs without errors
  • All six phases (A-G) completed
  • Individual commits for phases C, D, E, F verified

9. Known Issues & Limitations

None. Application is fully functional and meets all requirements.

10. Professional Communication

All documentation has been reviewed for:

  • Grammar and spelling
  • Technical accuracy
  • Clear explanations
  • Professional tone
  • Proper formatting

Project Status: COMPLETE
Ready for Submission: YES
Completion Date: February 14, 2026
Developed By: Shenron (Student ID: 010659768)