|
| 1 | +# TourGuide AI - MVP Quick Deployment Guide |
| 2 | + |
| 3 | +## 🚀 Quick Start (5 minutes to deploy) |
| 4 | + |
| 5 | +This guide will help you deploy a simplified version of TourGuide AI with only the essential features: |
| 6 | +- JWT Authentication |
| 7 | +- OpenAI Chat Integration |
| 8 | +- Google Maps Integration |
| 9 | +- Basic User Profile |
| 10 | + |
| 11 | +## 📋 Prerequisites |
| 12 | + |
| 13 | +1. **API Keys Required:** |
| 14 | + - OpenAI API Key ([Get it here](https://platform.openai.com/api-keys)) |
| 15 | + - Google Maps API Key ([Get it here](https://developers.google.com/maps/gmp-get-started)) |
| 16 | + |
| 17 | +2. **Node.js** (v16 or higher) |
| 18 | + |
| 19 | +## 🏗️ Setup Instructions |
| 20 | + |
| 21 | +### 1. Activate MVP Branch |
| 22 | +```bash |
| 23 | +git checkout mvp-release |
| 24 | +``` |
| 25 | + |
| 26 | +### 2. Install Dependencies |
| 27 | +```bash |
| 28 | +npm install |
| 29 | +``` |
| 30 | + |
| 31 | +### 3. Environment Configuration |
| 32 | +Create a `.env` file in the root directory: |
| 33 | +```env |
| 34 | +OPENAI_API_KEY=your_openai_api_key_here |
| 35 | +GOOGLE_MAPS_API_KEY=your_google_maps_api_key_here |
| 36 | +JWT_SECRET=your_super_secure_jwt_secret_here |
| 37 | +PORT=3001 |
| 38 | +NODE_ENV=production |
| 39 | +``` |
| 40 | + |
| 41 | +### 4. Switch to MVP App Component |
| 42 | +```bash |
| 43 | +# Rename the current App.js and use the MVP version |
| 44 | +mv src/App.js src/App-Full.js |
| 45 | +mv src/App-MVP.js src/App.js |
| 46 | +``` |
| 47 | + |
| 48 | +### 5. Build for Production |
| 49 | +```bash |
| 50 | +npm run build |
| 51 | +``` |
| 52 | + |
| 53 | +### 6. Start the Server |
| 54 | +```bash |
| 55 | +npm run server |
| 56 | +``` |
| 57 | + |
| 58 | +Your app will be available at: `http://localhost:3001` |
| 59 | + |
| 60 | +## 🌐 Deployment Options |
| 61 | + |
| 62 | +### Option 1: Heroku (Recommended for quick deployment) |
| 63 | + |
| 64 | +1. **Install Heroku CLI** |
| 65 | +2. **Login and create app:** |
| 66 | +```bash |
| 67 | +heroku login |
| 68 | +heroku create your-tourguide-app |
| 69 | +``` |
| 70 | + |
| 71 | +3. **Set environment variables:** |
| 72 | +```bash |
| 73 | +heroku config:set OPENAI_API_KEY=your_key |
| 74 | +heroku config:set GOOGLE_MAPS_API_KEY=your_key |
| 75 | +heroku config:set JWT_SECRET=your_secret |
| 76 | +heroku config:set NODE_ENV=production |
| 77 | +``` |
| 78 | + |
| 79 | +4. **Deploy:** |
| 80 | +```bash |
| 81 | +git add . |
| 82 | +git commit -m "MVP deployment" |
| 83 | +git push heroku mvp-release:main |
| 84 | +``` |
| 85 | + |
| 86 | +### Option 2: Netlify + Heroku (Frontend + Backend) |
| 87 | + |
| 88 | +**Frontend (Netlify):** |
| 89 | +1. Connect your GitHub repo to Netlify |
| 90 | +2. Set build command: `npm run build` |
| 91 | +3. Set publish directory: `build` |
| 92 | + |
| 93 | +**Backend (Heroku):** |
| 94 | +Follow Option 1 above for the backend API |
| 95 | + |
| 96 | +### Option 3: Railway (Simple and fast) |
| 97 | + |
| 98 | +1. **Connect GitHub repo to Railway** |
| 99 | +2. **Set environment variables in Railway dashboard** |
| 100 | +3. **Deploy automatically** |
| 101 | + |
| 102 | +### Option 4: DigitalOcean App Platform |
| 103 | + |
| 104 | +1. **Connect GitHub repo** |
| 105 | +2. **Configure build settings:** |
| 106 | + - Build command: `npm run build` |
| 107 | + - Run command: `npm run server` |
| 108 | +3. **Set environment variables** |
| 109 | + |
| 110 | +## 🔧 What's Removed in MVP |
| 111 | + |
| 112 | +The MVP version removes these complex features: |
| 113 | +- ❌ Beta program features |
| 114 | +- ❌ Role-based access control |
| 115 | +- ❌ Analytics dashboard |
| 116 | +- ❌ Email verification |
| 117 | +- ❌ Admin dashboard |
| 118 | +- ❌ Invite code system |
| 119 | +- ❌ Feedback collection |
| 120 | +- ❌ Complex testing framework |
| 121 | +- ❌ Performance monitoring |
| 122 | + |
| 123 | +## ✅ What's Included in MVP |
| 124 | + |
| 125 | +- ✅ Simple JWT authentication |
| 126 | +- ✅ OpenAI chat integration |
| 127 | +- ✅ Google Maps integration |
| 128 | +- ✅ Basic user profiles |
| 129 | +- ✅ Responsive Material-UI design |
| 130 | +- ✅ Core routing (Home, Chat, Map, Profile) |
| 131 | + |
| 132 | +## 🔐 Default Test Account |
| 133 | + |
| 134 | +- **Email:** demo@example.com |
| 135 | +- **Password:** demo123 |
| 136 | + |
| 137 | +## 📝 Post-Deployment Steps |
| 138 | + |
| 139 | +1. **Test the application:** |
| 140 | + - Register a new account |
| 141 | + - Try the chat feature |
| 142 | + - Test the map functionality |
| 143 | + |
| 144 | +2. **Configure your APIs:** |
| 145 | + - Ensure OpenAI API key has sufficient credits |
| 146 | + - Enable necessary Google Maps APIs |
| 147 | + |
| 148 | +3. **Security:** |
| 149 | + - Change the default JWT secret |
| 150 | + - Remove or change the demo account |
| 151 | + |
| 152 | +## 🆘 Troubleshooting |
| 153 | + |
| 154 | +### Common Issues: |
| 155 | + |
| 156 | +1. **"Cannot GET /" error:** |
| 157 | + - Make sure you're using the MVP server: `node server/mvp-server.js` |
| 158 | + |
| 159 | +2. **API Key errors:** |
| 160 | + - Verify your environment variables |
| 161 | + - Check API key permissions |
| 162 | + |
| 163 | +3. **Build errors:** |
| 164 | + - Delete `node_modules` and `package-lock.json` |
| 165 | + - Run `npm install` again |
| 166 | + |
| 167 | +## 📞 Support |
| 168 | + |
| 169 | +If you need help with deployment: |
| 170 | +1. Check the console logs for error messages |
| 171 | +2. Verify all environment variables are set |
| 172 | +3. Test locally first before deploying |
| 173 | + |
| 174 | +## 🔄 Switching Back to Full Version |
| 175 | + |
| 176 | +To switch back to the full version: |
| 177 | +```bash |
| 178 | +git checkout main |
| 179 | +mv src/App.js src/App-MVP.js |
| 180 | +mv src/App-Full.js src/App.js |
| 181 | +npm install # Reinstall full dependencies |
| 182 | +``` |
0 commit comments