How hamidou-ctr/portfolio1 works
This is an Angular personal portfolio. Visitors browse a one-page profile—intro, about, skills, projects, references—and can submit a contact form; navigation also opens standalone legal pages. The app root assembles the page and handles special-page display and scroll behavior. Language switching and translation loading, scroll-to-reference signaling, and project-detail rendering are distinct supporting capabilities. The README documents AOS animations and Formspree; source excerpts show the form request and AOS initialization. The graph omits unverified implementation details for unsampled templates and styles.
Main entry points: app.component.ts Page shell · header.component.ts Navigation · app.config.ts App configuration · app.routes.ts Legal routes
Components 21
Portfolio pages
- Navigation
src/app/header/header.component.ts - Hero section
src/app/home-page/home-page.component.ts - About section
src/app/about-me/about-me.component.ts - Skills section
src/app/my-skills/my-skills.component.ts - Project list
src/app/portfolio/portfolio.component.ts - Project details
src/app/portfolio/project/project.component.ts - References
src/app/references/references.component.ts - Contact form
src/app/contact-me/contact-me.component.ts - Footer
src/app/footer/footer.component.ts - Privacy page
src/app/privacy-policy/privacy-policy.component.ts - Legal notice
src/app/legal-notice/legal-notice.component.ts
Application runtime
- Bootstrap
src/main.ts - Page shell
src/app/app.component.ts - App configuration
src/app/app.config.ts - Legal routes
src/app/app.routes.ts
Shared capabilities
- Scroll utility
src/app/scroll.util.ts - Scroll service
src/app/service/service.component.ts - Translation assets
src/assets
Other components
- Visitor
- Formspree
- AOS animations
Connections 22
- Visitor → Page shell: browses
README.md - Bootstrap → Page shell: bootstraps
src/main.ts - Bootstrap → App configuration: configures with
src/main.ts - Page shell → Navigation: renders
src/app/app.component.ts - Page shell → Hero section: renders
src/app/app.component.ts - Page shell → About section: renders
src/app/app.component.ts - Page shell → Skills section: renders
src/app/app.component.ts - Page shell → Project list: renders
src/app/app.component.ts - Page shell → References: renders
src/app/app.component.ts - Page shell → Contact form: renders
src/app/app.component.ts - Page shell → Footer: renders
src/app/app.component.ts - Project list → Project details: renders projects
src/app/portfolio/portfolio.component.ts - Navigation → Scroll utility: scrolls to section
src/app/header/header.component.ts - Page shell → Scroll utility: scrolls to query target
src/app/app.component.ts - App configuration → Legal routes: registers routes
src/app/app.config.ts - Legal routes → Privacy page: lazy loads
src/app/app.routes.ts - Legal routes → Legal notice: lazy loads
src/app/app.routes.ts - References → Scroll service: subscribes to
src/app/references/references.component.ts - Navigation → Translation assets: selects language
README.md - App configuration → Translation assets: loads translations
src/app/app.config.ts - Contact form → Formspree: submits form
src/app/contact-me/contact-me.component.ts - Page shell → AOS animations: initializes animations
src/app/app.component.ts