A modern web application built with React + TypeScript + Vite and Supabase for backend services.
- Node.js >= 22.0.0
- pnpm = 10.21.0
- Git
If you don't have pnpm installed, you can install it using npm:
npm install -g pnpm@10.21.0For more installation options, visit pnpm installation guide.
git clone <repository-url>
cd ReBasepnpm installCreate a .env file in the root directory and add your Supabase credentials:
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key# Install a package
pnpm add <package-name>
# Install dev dependency
pnpm add -D <package-name>Examples:
# Install axios
pnpm add axios
# Install TypeScript types
pnpm add -D @types/nodepnpm remove <package-name># Update specific package
pnpm update <package-name>
# Update all packages
pnpm updatepnpm devApplication will run on http://localhost:5173
# Build the project
pnpm build
# Preview production build
pnpm start# Lint code
pnpm lint
# Fix lint issues
pnpm lint:fix
# Check code formatting
pnpm format
# Fix code formatting
pnpm format:fix
# Clean build artifacts
pnpm cleanThe project uses Conventional Commits:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]Types:
feat: New featurefix: Bug fixdocs: Documentation updatestyle: Formatting changes that don't affect code logicrefactor: Code refactoringperf: Performance improvementtest: Adding or fixing testschore: Build tasks, package manager configs, etc.
Examples:
git commit -m "feat(auth): add user login functionality"
git commit -m "fix(api): resolve user data fetching issue"
git commit -m "docs: update installation guide"
git commit -m "style(client): format code with prettier"The project has built-in git hooks to ensure code quality:
- pre-commit: Run lint and format code
- commit-msg: Check commit message format
main: Production branchfeature/feature-name: For new featuresbugfix/bug-description: For bug fixeshotfix/issue-description: For urgent production issues
-
Create a new branch Always branch off from the latest version of
main.git checkout main git pull origin main git checkout -b feature/your-feature-name
-
Work on your feature Make your code changes and commit them using the Conventional Commits format:
git add . git commit -m "feat(auth): add login functionality"
-
Rebase with the latest main branch Before pushing, make sure your branch is up to date with
main:git fetch origin git rebase origin/main
-
Push your branch to remote
git push origin feature/your-feature-name
-
Create a Pull Request (PR) Open a PR to merge your branch into
mainusing the project’s PR template. Wait for review and approval before merging. -
After Merge — Sync and Clean Up Once your PR is merged:
git checkout main git pull origin main git branch -d feature/your-feature-name # delete local branch git push origin --delete feature/your-feature-name # delete remote branch