Welcome to the Delivery App repository!
This repository is designed for version control and collaborative development of a React Native mobile application using the Expo framework.
It follows clean code practices using tools like Husky, Commitizen, Prettier, ESLint, and lint-staged to ensure a consistent and professional development workflow.
- React Native (Expo)
- TypeScript
- Tailwind CSS (NativeWind)
- React Navigation
- Jest for testing
- Prettier + ESLint for code formatting and linting
- Husky + Commitizen + Commitlint for commit standardization
git clone https://github.com/your-username/delivery-app.git
cd delivery-appnpm installnpm run startnpm run android— Launch on Androidnpm run ios— Launch on iOSnpm run web— Launch on Web
We use the following tools to maintain code quality:
- ESLint — Identifies and fixes code issues.
- Prettier — Formats code for consistency.
- lint-staged — Applies Prettier and ESLint only on staged files during commit
| Task | Command |
|---|---|
| Lint all files | npm run lint |
| Auto-fix lint issues | npm run lintFixAll |
| Format all code | npm run prettierFixAll |
| Format + Lint fix | npm run fix:lintPrettier |
This project enforces commit message formatting using Husky, Commitizen, and Commitlint. All commits must follow the Conventional Commits specification.
git add <filenames | .>
npm run commit
# After above commands you will be asked questions regarding the commit and commit message to writeBefore each commit, Husky runs lint-staged to:
- Format .ts and .tsx files using Prettier
- Lint and auto-fix them using ESLint
Only staged files are affected to ensure clean commits.
git add .npm run commit