A farming simulation game built with Next.js where you can grow crops, expand your land, and unlock perks!
- Clone the repository:
git clone https://github.com/yourusername/farville.git
cd farville- Install dependencies:
npm install
# or
yarn install- Start the development server:
npm run dev
# or
yarn dev- Open http://localhost:3000 in your browser to start playing!
-
Plant Crops 🌱
- Click on a tilled soil to plant the selected crop
- Different crops have different growth times and rewards
- Watch your crops grow through various stages
-
Harvest & Sell 💰
- Harvest crops when they're ready (sparkles will appear)
- Sell your harvested crops in the marketplace
- Earn coins to expand your farm and buy perks
-
Expand Your Farm 🏡
- Use your coins to buy more land
- Unlock larger expansions as you level up
- More land means more crops!
-
Manage Your Inventory 📦
- Keep track of your seeds and harvested crops
- Buy more seeds from the marketplace
- Watch your storage capacity
-
Unlock Perks ⭐
- Buy and activate special perks
- Boost your crop growth and yields
- Combine different perks for maximum efficiency
- Next.js 14
- TypeScript
- Tailwind CSS
- Framer Motion
Testing is done using Playwright for end-to-end tests ./e2e/market.spec.ts and Artillery for load/stress testing ./tests/artillery-load.yml.
Launch playwright tests with the UI
yarn test:uior in headless mode
yarn testHave your test environment ready and running on your infrastructure.
-
Install artillery globally
npm install -g artillery@latest
-
Save the API key in the environment variable
ARTILLERY_CLOUD_API_KEYexport ARTILLERY_CLOUD_API_KEY=... -
Run the load test using artillery
yarn test:load
or
npx artillery run tests/artillery/playwright/load-test-playwright.yml
In artillery you can also run playwright tests combining both playwright and artillery.
yarn test:load:playwright