diff --git a/README.md b/README.md new file mode 100644 index 0000000..3963542 --- /dev/null +++ b/README.md @@ -0,0 +1,67 @@ +# TimeToLeave + +Time-To-Leave is a multi-platform application designed to [Briefly describe the project's purpose, e.g., track professional commitments, manage time-off requests, etc.]. This repository follows a monorepo structure, separating concerns into distinct applications and reusable packages. + +## 🚀 Getting Started + +These instructions will get you a copy of the project running on your local machine for development and testing purposes. + +### Prerequisites + +* Node.js +* npm/yarn + +### Installation + +1. **Clone the repository:** + ```bash + # Assuming git is used + # git clone + # cd TimeToLeave + ``` + +2. **Install dependencies:** + ```bash + npm install + ``` + +## 🧱 Project Structure Overview + +This project uses a monorepo setup to manage multiple, interconnected parts: + +* **`apps/`**: Contains the primary deployable applications. + * `apps/web`: The main web interface for the user. + * `apps/mobile`: The mobile application client. +* **`packages/`**: Contains reusable, domain-specific logic and shared utilities. + * `packages/core`: Core business logic and domain models. + * `packages/api-client`: Handles interactions with the backend API. + +## 🛠 Development & Running the Application + +The `package.json` defines several scripts to assist with development: + +| Script | Command | Description | +| :--- | :--- | :--- | +| `dev` | `npm run dev -w apps/web` | Starts the development server for the Web application. | +| `dev:mobile` | `npm run start -w apps/mobile` | Starts the mobile client development server. | +| `build` | `npm run build -w apps/web` | Builds the production bundle for the Web application. | +| `test` | `npm run test -w apps/web` | Runs unit and integration tests for the Web application. | +| `lint` | `npm run lint -w apps/web && npm run lint -w apps/mobile` | Runs linting checks across both web and mobile clients. | + +### Development Workflow Tip + +When working on shared logic, modify files in `packages/core` or `packages/api-client`. Remember to run tests or restart the services to ensure changes are propagated correctly across the consuming apps. + +## 🛡️ Testing & Quality Assurance + +The project provides comprehensive scripts for maintaining code quality: + +* **Linting:** Use `npm run lint` to catch stylistic and structural errors. +* **Type Checking:** Use `npm run typecheck` to ensure type safety across the codebase. + +## 📄 API Documentation + +[Add link or reference to API documentation here once the backend services are finalized.] + +--- +*This README was generated based on the detected monorepo structure and dependencies.* \ No newline at end of file