This project is a multi-step poll form built with React, TypeScript, Tailwind CSS, and Redux Toolkit. The form is designed as a vertical carousel without using any additional libraries. The project includes a comprehensive testing suite implemented with Jest and React Testing Library.
src/
├── api/
├── components/
│ ├── __tests__/
│ ├── [component files]
├── store/
- Node.js
- npm (Node Package Manager)
-
Clone the repository:
git clone https://github.com/Ejaz-Ahmad-Siddiqui/multi-step-poll.git
-
Navigate to the project directory:
cd multi-step-poll
-
Install the dependencies:
npm install
To run the project locally, use the following command:
npm start
To build the project for production, use the following command:
npm run build
To run the tests, use the following command:
npm test
If you encounter any rendering errors while running the tests, you may need to install the following package:
npm install --save-dev @testing-library/react
- React: JavaScript library for building user interfaces
- TypeScript: Typed superset of JavaScript that compiles to plain JavaScript
- Tailwind CSS: Utility-first CSS framework
- Redux Toolkit: The official, recommended way to write Redux logic
- Jest: JavaScript testing framework
- React Testing Library: Simple and complete testing utilities that encourage good testing practices
- Multi-Step Form: The form is divided into multiple steps, allowing users to complete it in a guided manner.
- Vertical Carousel: The steps are presented as a vertical carousel, providing a smooth and intuitive user experience.
- State Management: The form state is managed using Redux Toolkit.
- Type Safety: The project is written in TypeScript, ensuring type safety and reducing the likelihood of runtime errors.
- Comprehensive Testing: The project includes a comprehensive test suite to ensure the reliability and correctness of the application.
For any inquiries or further information, please contact:
- Name: Ejaz Ahmad
- Email: [email protected]
- GitHub: Ejaz-Ahmad-Siddiqui
Thank you for using the Multi-Step Poll Form! I hope it meets your needs and expectations.