Hamgerd is a modern web application built with TypeScript, designed for speed, modularity, and developer happiness.
Visit the live site: hamgerd.ir
- Node.js (v18+ recommended)
- pnpm (install globally with
npm i -g pnpm) - Docker (optional, for containerization)
pnpm installpnpm run devVisit http://localhost:3000 in your browser.
pnpm run build
pnpm startdocker-compose up --build- Copy
.env.exampleto.envand configure your environment variables. - See
docker-compose.ymlandDockerfilefor container setup.
/
βββ app/ # Main application source
βββ components/ # components of code
βββ const/ # Constants and shared config
βββ hooks/ # Custom React hooks
βββ lib/ # Utility libraries
βββ models/ # TypeScript models and interfaces
βββ public/ # Static assets
βββ tests/ # Test files
βββ validator/ # Input validation logic
βββ Dockerfile
βββ docker-compose.yml
βββ package.json
βββ ...
Run unit and integration tests:
pnpm run testEnd-to-end tests with Playwright:
pnpm exec playwright testPull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
- Fork the repo
- Create your feature branch (
git checkout -b feat/awesome-feature) - Commit your changes (
git commit -m 'Add awesome feature') - Push to the branch (
git push origin feat/awesome-feature) - Open a Pull Request