A modern multi-step web application for opening a bank account β built with best practices in UI, form validation, and backend integration. Designed for both performance and scalability.
- π Multi-step account registration with live validation
- π§Ύ Zod schema validation per step
- π¦ Global state management with Redux
- π Clean UI with Tailwind Grid & Flexbox layouts
- π‘οΈ Supabase authentication (login & protected routes)
- β‘ Fully TypeScript-powered for better DX & maintainability
- π€ Auto form reset and conditional
triggerfor validation
-
Install dependencies
npm install -
Run the development server
npm run dev -
Connect Supabase
Add your Supabase credentials in .env.local
SUPABASE_URL=your-url
SUPABASE_ANON_KEY=your-key
src/
βββ components/
β βββ StepOne.tsx
β βββ StepTwo.tsx
β βββ StepThree.tsx
βββ schemas/
β βββ stepOneSchema.ts
β βββ stepTwoSchema.ts
β βββ stepThreeSchema.ts
β βββ mergedSchema.ts
βββ store/ # Redux configuration
βββ pages/
β βββ index.tsx # Entry point
βββ MultiStepForm.tsx # Main form logic
npm run dev β Start development
npm run build β Production build
npm run lint β Lint codebase
npm run format β Format using Prettier
Built with π by modern frontend best practices
Can be easily extended with dark mode, server actions, dashboards, and more
MIT β Free to use, modify and distribute.
Developed with π» by Azadeh Sharifi Soltani Feel free to connect and collaborate!