Play2do is an advanced Task Manager application designed to showcase best practices in Quality Assurance (QA) automation and comprehensive testing strategies. While it provides full todo list functionality, the primary goal is to demonstrate how to implement and maintain robust testing across various levels of a modern web application.
- 🪺 NestJS
- 🍃 MongoDB
- 🔷 Prisma ORM
- ⚛️ React
- ⚡ Vite
- 🎨 Shadcn UI
- 🌬️ TailwindCSS
Play2do incorporates multiple testing methodologies to ensure code quality and reliability:
- 🔬 Unit Tests: Using Jest for both backend and frontend
- 🔗 Integration Tests: Ensuring smooth interaction between components
- 🌐 End-to-End (E2E) Tests: Utilizing Playwright for comprehensive application flow testing
- 🔌 API Tests: Leveraging Bruno for thorough API endpoint testing
- ✅ Full-featured Todo application functionality
- 🛡️ Comprehensive test coverage across all application layers
- 💻 Demonstration of modern web development best practices
- 🚀 Showcase of QA automation techniques in a real-world scenario
To experience the extensive testing suite:
-
🧪 Unit and Integration Tests:
yarn testThis command runs Jest tests for both backend and frontend components.
-
🌐 End-to-End Tests:
test:e2e:playwrightExecutes Playwright tests to simulate real user interactions.
-
🔌 API Tests: Navigate to the
bruno APIfolder in the project directory. Here you'll find a collection of API tests implemented using Bruno.
play2do/
├── src/ # Backend covered with unit tests
├── frontend/ # React frontend
│ ├── src/ # Components covered with unit and integration tests
├── test/e2e/ # Playwright E2E tests
├── bruno API/ # Bruno API tests
└── package.json
- Clone the repository
- Install dependencies:
yarn install - Set up your MongoDB instance and update the connection string
- Run the Backend:
yarn start - Run the Frontend:
yarn run dev - Explore the various test suites as described above
We welcome contributions, especially those that enhance our testing methodologies or expand test coverage. Please refer to our contributing guidelines for more information.
This project serves as an excellent resource for:
- 🧑🔬 QA engineers looking to expand their automation skills
- 👨💻 Developers aiming to implement comprehensive testing strategies
- 🎓 Anyone interested in seeing how different testing methodologies can be integrated into a single project
Dive into the code, run the tests, and elevate your QA automation skills with Play2do!