# Testing the Smart Calendar Project in WSL This document provides instructions for testing the Reclaim.ai clone (smart calendar project) in your WSL environment. ## Prerequisites Verification 1. **Verify WSL is running:** ```bash wsl --status ``` 2. **Confirm Ubuntu distribution is accessible:** ```bash wsl -d Ubuntu --exec whoami ``` ## Project Setup in WSL 1. **Enter your WSL environment:** ```bash wsl -d Ubuntu ``` 2. **Navigate to the project directory:** ```bash cd ~/reclaim-clone ``` 3. **Run the setup script to install dependencies:** ```bash chmod +x ~/setup_in_wsl.sh ~/setup_in_wsl.sh ``` Or follow manual steps below: 4. **Install backend dependencies (Swift):** ```bash # Update package list sudo apt update # Install Swift prerequisites sudo apt install -y clang libicu-dev libxml2-dev libzip-dev libbsd-dev # For Ubuntu 20.04 or 22.04, install Swift using these commands: VERSION=$(lsb_release -rs) if [[ $VERSION == "20.04" || $VERSION == "22.04" ]]; then wget -q -O - https://swift.org/keys/all-keys.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/swift-archive.gpg echo "deb [signed-by=/etc/apt/trusted.gpg.d/swift-archive.gpg] https://download.swift.org/ubuntu$(echo $VERSION | sed 's/\.//') stable main" | sudo tee /etc/apt/sources.list.d/swift.list sudo apt update sudo apt install -y swift-lang fi ``` 5. **Install frontend dependencies (Node.js & npm):** ```bash # Install Node.js curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo apt-get install -y nodejs ``` 6. **Install and configure PostgreSQL:** ```bash # Install PostgreSQL sudo apt update sudo apt install -y postgresql postgresql-contrib # Start PostgreSQL service sudo service postgresql start # Set up the reclaim_clone database sudo -u postgres createuser --superuser $(whoami) sudo -u postgres createdb reclaim_clone sudo -u postgres psql -d reclaim_clone -f ~/reclaim-clone/database/schema.sql ``` 7. **Install client dependencies:** ```bash cd ~/reclaim-clone/client npm install cd .. ``` ## Testing the Backend (API) 1. **Navigate to the project directory:** ```bash cd ~/reclaim-clone ``` 2. **Test the backend (API server):** ```bash swift run ``` 3. **Verify the backend is running:** - Open another terminal tab - Enter WSL: `wsl -d Ubuntu` - Test the API: `curl http://localhost:8080` - You should see a response from the server ## Testing the Frontend (Web Client) 1. **Navigate to the client directory:** ```bash cd ~/reclaim-clone/client ``` 2. **Start the development server:** ```bash npm run dev ``` 3. **Verify the frontend is running:** - Open a browser on the Windows host - Navigate to `http://localhost:3000` - You should see the Reclaim.ai clone application ## Testing Full Integration 1. **Start both backend and frontend:** - Terminal 1: `cd ~/reclaim-clone && swift run` - Terminal 2: `cd ~/reclaim-clone/client && npm run dev` 2. **Access the application:** - In your Windows browser, go to `http://localhost:3000` - You should be able to use the full application with all features ## Troubleshooting 1. **If PostgreSQL service isn't starting:** ```bash sudo service postgresql start sudo systemctl enable postgresql ``` 2. **If Swift isn't available:** - Check Ubuntu version: `lsb_release -a` - Visit https://www.swift.org/download/ for Ubuntu-specific installation instructions 3. **If the frontend can't connect to the backend:** - Verify both services are running - Check that the backend is running on port 8080 - Verify the frontend is configured to connect to the correct backend URL 4. **If you have permission issues:** ```bash # Fix file permissions if needed sudo chown -R $(whoami):$(whoami) ~/reclaim-clone ``` ## Verification Checklist - [ ] WSL Ubuntu is accessible - [ ] Project files are available in `~/reclaim-clone` - [ ] Swift is installed and accessible (`swift --version`) - [ ] Node.js is installed and accessible (`node --version`) - [ ] PostgreSQL is installed and running - [ ] Backend server starts without errors - [ ] Frontend server starts without errors - [ ] Application is accessible via browser at `http://localhost:3000` - [ ] All major features of the smart calendar app are functional ## Additional Notes - The project is now fully migrated to WSL and can be developed using Linux tools - You can access the files from Windows at `\\wsl.localhost\Ubuntu\home\{username}\reclaim-clone` - For development, you can use VS Code with the Remote-WSL extension for a better experience - The application supports Trello-like kanban boards, calendar integration, and multi-user system as designed