Thank you for your interest in contributing! We welcome contributions of all kinds — bug reports, feature requests, documentation improvements, and code.
- Node.js >= 18
- Docker & Docker Compose
# 1. Clone and enter the repo
git clone https://github.com/timemap-project/timemap.git
cd timemap
# 2. Set up environment variables
cp .env.example .env.local
# 3. Start infrastructure (PostgreSQL + Meilisearch)
docker-compose up -d
# 4. Install dependencies
npm install
# 5. Run database migrations
npm run db:migrate
# 6. Seed the database with sample data
npm run db:seed
# 7. Start the development server
npm run devThe app will be available at http://localhost:5000 (or the port configured in apps/web/package.json).
After seeding or modifying database content, push data to Meilisearch:
npm run search:indexapps/
web/ — Next.js frontend (React 19, Next.js 16)
packages/
db/ — Drizzle ORM schema and database utilities
schema/ — Shared TypeScript types and interfaces
eslint-config/— Shared ESLint configuration
typescript-config/ — Shared TypeScript configuration
- We use ESLint and Prettier for code formatting
- Run
npm run lintandnpm run check-typesbefore submitting a PR - Run
npm run formatto auto-format your code
- Fork the repository and create a feature branch (
git checkout -b feature/your-feature) - Make your changes
- Ensure lint and type checks pass (
npm run lint && npm run check-types) - Commit with a clear, descriptive message
- Push to your fork and submit a Pull Request
When filing a bug, please include:
- What you expected to happen
- What actually happened
- Steps to reproduce
- Your environment (OS, Node.js version, browser)
By contributing, you agree that your contributions will be licensed under the MIT License.