169 lines
4.8 KiB
Markdown
169 lines
4.8 KiB
Markdown
# 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 |