This is my solution to the Contact form challenge from Frontend Mentor.
On form submission, emails are sent but not delivered to their recipient. Instead, they are intercepted by the Ethereal fake SMTP service and messages self-destruct after a few hours. You can access the Ethereal email by visiting the public URL in the browser console.
- Angular and static assets served from Vercel's CDN infrastructure (Edge Network)
- Express REST API Node.js server deployed on Heroku
Note: The Heroku web dyno (container) sleeps after 30 minutes of inactivity (see Dyno Sleeping).
- Angular reactive forms
- Mail service with Nodemailer and Ethereal
- CORS-enabled REST API
- JSON schema validation with Ajv
- Angular prerendering (SSG)
- Responsive design
- Custom form controls
- CSS transitions and Angular animations
- End-to-end testing with Cypress
- Vercel deployments:
- CodeQL analysis (see workflow)
- System: Ubuntu (GNU/Linux)
- IDE: WebStorm
- Design: Figma
- Version Control: Git
- Formatter: Prettier
- Linter: ESLint
- AI assistant: GitHub Copilot
Frontend Mentor challenges help you improve your coding skills by building realistic projects.
© 2024 Johnny Gérard