Goodpluck, our ecommerce webapp, uses the Astro Framework for frontend and backend development. SolidJS is used for reactive components. Vercel is used for hosting and deployment.
Simple programs are more reliable and easier to maintain. Here are some tips to write simple PRs:
- Break issues into smaller issues and post multiple PRs that each tackle a small part of the problem
- Simple does not mean easy, often the simplest solutions requires a more thorough understanding of the problem
- Watch Rich Hickey's talk: Simple Made Easy
- Install pnpm
- Install dependencies
pnpm install - Install Playwright
pnpm exec playwright install - Install Vercel cli and run
vercel loginto login, thenvercel devto try out the dev server
- Get an Issue: Assign yourself an issue from the project board.
- Branch: Create a new branch from
mainwith a descriptive name, e.g.,feature/issue-123-short-description. - Code: Work on the task in your branch, committing frequently.
- Test: Write unit and end-to-end tests, and run
pnpm run testandpnpm run test:e2elocally. - Pull Request (PR): Keep PRs small and focused. Vercel will build a preview deployment.
- Review: Request a review from teammates and address all suggestions.
- Merge: Rebase (preferred) or squash and merge your commits into
main.
By following these guidelines, we maintain a clear and efficient process for task management and code integration.
Goal: Ensure critical user flows are covered by end-to-end (E2E) tests. Critical flows are those which, if broken, would prevent users from using the app. Supplement E2E tests with unit tests to verify key logic.
Write unit tests to test solidjs components
- @testing-library/jest-dom Allows us tp jest matchers
End-to-end Tests (Playwright)
- Use to test flows that require interacting with the backend or exernal services
- To run a specific test file in interactive mode:
pnpm run test:e2e tests/e2e/cart.spec.ts --ui