Full Stack Software Engineering
The completed test task was to create a fully functional e-Commerce application frontend using Angular, signal-based stores, Angular Router, HttpClient, Angular Material, and Reactive Forms. The frontend includes a navigation menu, product pages, cart, checkout with Stripe payment integration, and user account pages. The application is designed to be responsive and user-friendly, with a modern and intuitive user interface. You can see a description of the backend here.
The frontend was built using Angular 22, a popular TypeScript framework for building web applications. State management was implemented with injectable signal stores (TabernaProductStore, TabernaCartStore, TabernaOrdersStore, TabernaProfileStore), including the checkout flow and Stripe integration for secure payments. Routing uses Angular Router with lazy-loaded routes and authGuard on checkout and dashboard. Data fetching is handled by HttpClient with a JWT interceptor.
The frontend also includes search: a dialog in the navbar and a dedicated search results page. UI components use Angular Material (toolbar, cards, forms, dialogs). Form validation on checkout and auth screens uses Angular Reactive Forms with custom validators matching the original Vuelidate rules.
Overall, the completed test task is a fully functional e-Commerce frontend with a smooth user experience and responsive UI. It is built with Angular, Angular Router, Angular Material, HttpClient, signal stores, Reactive Forms, Django REST API (backend), AWS, Firebase Hosting, and Stripe (session and charge modes). Guest carts persist via cartId in localStorage and merge on login. Live demo: angular.karnaukh-webdev.com/taberna.