Getting Started
Welcome to the Dorm Chores Scheduler project! This guide will help you set up, run, and understand the basics of the project.
Overview
Dorm Chores Scheduler is an application designed to help manage and schedule chores in a dormitory environment. It supports different user roles (students, managers), chore analytics, notifications, and more.
Prerequisites
- Node.js (v18 or later recommended)
- npm or yarn
- Expo CLI (for React Native development)
- A code editor (VS Code recommended)
Installation
- Clone the repository:
git clone https://github.com/SETaP-2025-2026-Group-7-Team-C/Dorm-Chores-Scheduler.git
cd Dorm-Chores-Scheduler
- Install dependencies:
npm install # or yarn install - Install Expo CLI (if not already installed):
npm install -g expo-cli
Running the App
- Start the development server:
npx expo start - Open the app:
- Use the Expo Go app on your mobile device to scan the QR code.
- Or run on an emulator/simulator.
Project Structure
app/- Main application code (pages, navigation, authentication, main features)components/- Reusable UI componentslib/- Business logic, utilities, and API integrationsconstants/- Shared constants (e.g., colors)assets/- Images and static assetsdatabase/- SQL files for database schema and reference datadcs-docs/- Project documentation
Testing
- UI tests are located in
app/ui-tests/ - Unit and integration tests are in
lib/(files ending with.test.ts) - Run tests with:
npm test
Linting & Formatting
This project enforces code quality and style using ESLint and Prettier. Consistent linting and formatting help keep the codebase clean and reduce bugs.
Linting Setup
- ESLint is configured with Expo and Prettier integrations (see
eslint.config.js). - Prettier is used for code formatting (see
.prettierrc). - Linting and formatting are automatically run on staged files before commits using Husky and lint-staged.
Common commands:
npm run lint- Check for lint issuesnpm run lint:fix- Auto-fix lint issuesnpm run format- Check formattingnpm run format:fix- Auto-format codenpm run typecheck- TypeScript type checking
Recommended VS Code Extensions
For the best experience, install these extensions (see .vscode/extensions.json):
The workspace also sets up format-on-save and organizes imports (see .vscode/settings.json).
Relevant Files
eslint.config.js- ESLint configuration.prettierrc- Prettier configuration.vscode/extensions.json- Recommended extensions.vscode/settings.json- Editor settings for formatting and lintingpackage.json- Lint/typecheck scripts and lint-staged config
Tip: Always lint and format your code before pushing or opening a pull request.