Skip to content

sohammondal/awesome-qa-tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

39 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

The Awesome QA Tool

Next.JS React Redux Jest Testing-Library TypeScript ESLint Husky Playwright Commitizen AWS

Getting started πŸš€

Important

Node.js version >= v18.17.0 is required. You can use nvm to install correct node version.

## install the dependencies
npm install

## start development server
npm run dev

## detect all linting issues
npm run lint

## fix all linting issues
npm run lint:fix

## run unit tests
npm run test

## run unit tests in watch mode
npm run test:watch

You can view the app in your browser at http://localhost:3000.

Contributing πŸ‘¨β€πŸ’»

Note

This app uses Commitizen cli to enforce AngularJS's commit message convention. We have used Husky to override the prepare-commit-msg hook and trigger the Commitizen cli.

## go to main/stage/dev branch
git checkout main

## create your feature branch
git checkout -b feat/my-branch

## make necessary changes and stage them
git add .

## commit your changes
git commit # it will trigger Commitizen cli for generating commit message

Folder Structure πŸ—‚οΈ

Note

This app uses the new Next.js App Router.

awesome-qa-tool
|-- layouts         ← page or root layouts
|-- public          ← contains assets like img, fonts, etc
|-- components      ← reusable components
|-- app             ← routes and pages
|-- seo             ← app meta data
|-- config          ← app config / env variables
|-- theme           ← app theme or global styles
|-- helpers         ← helper functions
|-- store           ← redux store
|   |-- reducers    ← reducers/slices/features
|-- types           ← types & interfaces
|-- hooks           ← reusable hooks
|-- modules         ← feature centric components, helpers, etc which can reused all across the app
|-- views           ← building block of `app/pages`
|-- e2e-tests       ← Playwright tests

Testing

Note

We have unit, integration and e2e tests for this app.

Unit & Integration Tests

## run unit tests
npm run test

## run unit tests in watch mode
npm run test:watch

E2E Tests

Note

E2E Tests are powered by Playwright. You can also setup VS Code with Playwright for easy execution of tests.

## install browsers
npx playwright install

## run tests
npx playwright test

Branch ↔ Environments

Hosting & Deployment ☁️

The app is hosted on AWS and deployed using AWS Amplify

Learn More πŸ“š

To learn more about Next.js, take a look at the following resources: