LifeRPG_v2.0/modern/docs/STUDENT_HOSTING_GUIDE.md
Copilot 90750ee8df
Strip emoji from docs, fix XSS/hashing vulnerabilities, remediate all failing CI checks (#1)
* Initial plan

* Fix security vulnerabilities: MD5→SHA-256, XSS via dangerouslySetInnerHTML/innerHTML, insecure randomness, CodeQL config

Co-authored-by: TLimoges33 <125313326+TLimoges33@users.noreply.github.com>

* Clean up README: remove decorative emojis for a professional tone

Remove all emojis from section headers, list item prefixes, and
decorative positions. Replace  phase status markers with '(Complete)'
text. Keep the  in the final call-to-action line. No changes to
links, badges, code blocks, or technical content.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs: remove emoji characters from CONTRIBUTING.md

Remove all emoji from section headers and closing line while
preserving links, code blocks, and technical content.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs: remove emoji characters from documentation files

Remove all emoji characters from 8 documentation files in docs/.
Replace status-marker checkmarks () with '(Done)' text.
Remove decorative emojis from headers and body text entirely.
Preserve emojis inside code blocks unchanged.
Clean up trailing whitespace introduced by removals.

Files modified:
- DEPLOYMENT_GUIDE.md
- IMPLEMENTATION_PLAN.md
- MILESTONE_6_SUMMARY.md
- PRODUCTION_ROADMAP.md
- PROJECT_STATUS.md
- REPOSITORY_ENHANCEMENT.md
- ROADMAP.md
- SECURITY_AUDIT_ROADMAP.md

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs: remove emoji characters from documentation files

Remove all emoji characters from 9 markdown files while preserving
code block content (box-drawing characters, indentation). Emojis
removed from headers, list items, and body text across READMEs,
issue templates, PR template, runbook, and mobile docs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Remove excessive emoji from all documentation for professional presentation

Co-authored-by: TLimoges33 <125313326+TLimoges33@users.noreply.github.com>

* Fix PluginWidget initial state and remove || true from security audit steps

Co-authored-by: TLimoges33 <125313326+TLimoges33@users.noreply.github.com>

* Remediate all failing CI checks: update deprecated actions, fix npm vulnerabilities, fix migrations YAML

Co-authored-by: SynOSdev <257853113+SynOSdev@users.noreply.github.com>

* Fix all remaining CI failures: Node 18→20, fix test API contract, fix pytest version, fix Postgres health checks

Co-authored-by: SynOSdev <257853113+SynOSdev@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: TLimoges33 <125313326+TLimoges33@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: SynOSdev <257853113+SynOSdev@users.noreply.github.com>
2026-03-14 08:59:37 -04:00

419 lines
9.5 KiB
Markdown

# **FREE & CHEAP HOSTING GUIDE FOR COLLEGE STUDENTS**
## **Overview**
As a college student, you can host LifeRPG for **FREE or under $5/month** using various platforms and student discounts. Here's your complete guide to getting LifeRPG online without breaking the bank!
---
## **Best Free Hosting Options (Recommended)**
### **1. Vercel (Frontend) + Railway (Backend) - 100% FREE**
#### ** Why This Combo:**
- **Cost**: $0/month forever
- **Performance**: Production-grade performance
- **Ease**: Simple deployments with Git integration
- **Scalability**: Handles thousands of users
- **Student-Friendly**: No credit card required
#### **Vercel Setup (Frontend):**
```bash
# 1. Install Vercel CLI
npm i -g vercel
# 2. Build your frontend
cd modern/frontend
npm run build
# 3. Deploy
vercel --prod
```
**Features:**
- Automatic HTTPS
- Global CDN
- Git integration
- Custom domains
- 100GB bandwidth/month
#### **Railway Setup (Backend + Database):**
```bash
# 1. Create railway.json in modern/backend/
{
"build": {
"builder": "NIXPACKS"
},
"deploy": {
"startCommand": "uvicorn app:app --host 0.0.0.0 --port $PORT",
"healthcheckPath": "/health"
}
}
# 2. Connect to Railway via GitHub
# 3. Set environment variables in Railway dashboard
```
**Railway Free Tier:**
- $5 credit/month (covers small apps)
- PostgreSQL database included
- Automatic deployments
- Built-in monitoring
### **2. Render (All-in-One) - FREE**
#### ** Why Choose Render:**
- **Cost**: $0/month for basic tier
- **Simplicity**: Single platform for everything
- **Features**: Database + web service + static sites
#### **Setup Process:**
1. **Fork your GitHub repo**
2. **Connect Render to GitHub**
3. **Create Web Service** (Backend):
- Build Command: `pip install -r requirements.txt && python setup_ai.py`
- Start Command: `uvicorn app:app --host 0.0.0.0 --port $PORT`
4. **Create Static Site** (Frontend):
- Build Command: `npm install && npm run build`
- Publish Directory: `build`
5. **Create PostgreSQL Database** (Free tier available)
**Render Free Tier:**
- Web services sleep after 15min inactivity
- 750 hours/month (enough for personal use)
- Custom domains
- Automatic SSL
---
## **Student Discount Options**
### **1. GitHub Student Developer Pack**
**Get $200+ in credits across multiple platforms!**
#### **Included Credits:**
- **DigitalOcean**: $200 credit (1 year)
- **Heroku**: Free Dyno hours upgrade
- **Microsoft Azure**: $100 credit
- **AWS**: Various credits through AWS Educate
#### **How to Apply:**
1. Go to [GitHub Student Pack](https://education.github.com/pack)
2. Verify your student status (.edu email)
3. Get access to all benefits
### **2. DigitalOcean ($200 Free Credit)**
**Perfect for learning cloud deployment!**
#### **Setup with Student Pack:**
```bash
# 1. Create DigitalOcean account with student pack
# 2. Create App Platform deployment
# 3. Connect your GitHub repo
# 4. Configure build settings
# App Spec (app.yaml):
name: liferpg
services:
- name: backend
source_dir: /modern/backend
github:
repo: TLimoges33/LifeRPG
branch: main
build_command: pip install -r requirements.txt && python setup_ai.py
run_command: uvicorn app:app --host 0.0.0.0 --port $PORT
environment_slug: python
instance_count: 1
instance_size_slug: basic-xxs
- name: frontend
source_dir: /modern/frontend
github:
repo: TLimoges33/LifeRPG
branch: main
build_command: npm install && npm run build
run_command: serve -s build -l $PORT
environment_slug: node-js
instance_count: 1
instance_size_slug: basic-xxs
databases:
- name: postgres
engine: PG
version: "13"
size: basic
```
**Cost**: $0 for 4+ months with student credit!
---
## **Ultra-Cheap Options ($3-5/month)**
### **1. Hetzner Cloud (Germany) - $3.79/month**
**Best value for money in Europe!**
#### **Setup:**
```bash
# 1. Create Hetzner account
# 2. Create CX11 server (1 vCPU, 4GB RAM, 20GB SSD)
# 3. Install Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# 4. Deploy with Docker Compose
version: '3.8'
services:
backend:
build: ./modern/backend
ports:
- "8000:8000"
environment:
- DATABASE_URL=postgresql://user:pass@postgres:5432/liferpg
frontend:
build: ./modern/frontend
ports:
- "3000:3000"
postgres:
image: postgres:13
environment:
- POSTGRES_DB=liferpg
- POSTGRES_USER=user
- POSTGRES_PASSWORD=pass
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:
```
### **2. Oracle Cloud Free Tier - $0 FOREVER**
**Most generous free tier available!**
#### **What You Get:**
- 4 ARM-based compute instances
- 24GB RAM total
- 200GB storage
- **Never expires** (as long as you use it monthly)
#### **Setup Process:**
1. Sign up for Oracle Cloud (requires credit card for verification)
2. Create Always Free compute instance
3. Install Docker and deploy LifeRPG
4. Configure firewall rules
### **3. AWS EC2 (with Student Credits) - Variable**
**Great for learning AWS!**
#### **Free Tier + Student Credits:**
- t2.micro instance (1 year free)
- Additional credits through AWS Educate
- RDS PostgreSQL free tier
- S3 for static hosting
---
## **Production-Ready Budget Setup ($5-10/month)**
### **Recommended Stack:**
- **Server**: Hetzner CX21 ($7.56/month) - 2 vCPU, 8GB RAM
- **Database**: Built-in PostgreSQL
- **CDN**: Cloudflare (Free)
- **Domain**: Namecheap (.com for $8.98/year)
- **SSL**: Let's Encrypt (Free)
### **Total Monthly Cost**: ~$8-10/month
#### **Why This Setup:**
- Handles 10,000+ users
- AI models run smoothly with 8GB RAM
- Professional custom domain
- Global CDN performance
- Automatic backups
---
## **My Top Recommendation for Students**
### ** Best Overall: Vercel + Railway (FREE)**
#### **Why I Recommend This:**
1. **Zero Cost**: Completely free for personal projects
2. **Professional**: Same stack used by companies
3. **Easy**: Git-based deployments
4. **Scalable**: Grows with your project
5. **Learning**: Great resume experience
#### **Setup Steps:**
```bash
# 1. Prepare your code
git add -A
git commit -m "Prepare for deployment"
git push origin main
# 2. Deploy Frontend to Vercel
cd modern/frontend
npm i -g vercel
vercel --prod
# 3. Deploy Backend to Railway
# - Go to railway.app
# - Connect GitHub repo
# - Deploy from modern/backend folder
# - Add PostgreSQL database
# 4. Update environment variables
# Frontend: REACT_APP_API_URL=https://your-railway-app.railway.app
# Backend: DATABASE_URL=your-railway-postgres-url
```
### ** Best for Learning: DigitalOcean + Student Pack**
#### **Advantages:**
- Real VPS experience
- Docker deployment practice
- $200 credit lasts 6+ months
- Industry-standard tools
---
## **Cost Comparison Table**
| Platform | Monthly Cost | RAM | Database | SSL | Custom Domain | Best For |
| ---------------- | ------------ | ----- | ------------- | --- | ------------- | ------------ |
| Vercel + Railway | $0 | 512MB | PostgreSQL | | | Students |
| Render | $0 | 512MB | PostgreSQL | | | Simplicity |
| Oracle Free | $0 | 24GB | Self-hosted | | | Learning |
| Hetzner CX11 | $3.79 | 4GB | Self-hosted | | Extra cost | Budget |
| DigitalOcean | $6 | 1GB | Extra $15 | | | Professional |
---
## **Deployment Configuration**
### **Environment Variables You'll Need:**
```bash
# Backend (.env)
DATABASE_URL=postgresql://user:pass@host:5432/liferpg
JWT_SECRET_KEY=your-secret-key-here
AI_MODELS_CACHE_DIR=/tmp/models
AI_ENABLE_GPU=false
ENVIRONMENT=production
# Frontend (.env)
REACT_APP_API_URL=https://your-backend-url.com
REACT_APP_ENVIRONMENT=production
```
### **Build Commands:**
```bash
# Backend
pip install -r requirements.txt -r requirements_ai.txt
python setup_ai.py
alembic upgrade head
# Frontend
npm install
npm run build
```
### **Health Checks:**
- Backend: `GET /health`
- Frontend: Check if React app loads
- AI: `GET /api/v1/ai/health`
---
## **Going Live Checklist**
### **Pre-Launch:**
- [ ] Environment variables configured
- [ ] Database migrations applied
- [ ] AI models downloaded and cached
- [ ] SSL certificates active
- [ ] Custom domain configured (if applicable)
- [ ] Health checks passing
### **Post-Launch:**
- [ ] Monitor performance and errors
- [ ] Set up backup strategy
- [ ] Configure monitoring (UptimeRobot free)
- [ ] Share with friends for testing
- [ ] Document your deployment process
### **Marketing Your Project:**
- [ ] Create awesome GitHub README
- [ ] Post on Reddit (r/SideProject, r/AI)
- [ ] Share on Twitter/LinkedIn
- [ ] Submit to Product Hunt
- [ ] Add to your portfolio
---
## **Student Success Tips**
### **1. Start with Free Tiers**
Don't spend money until you need to scale. Free tiers teach you deployment without risk.
### **2. Document Everything**
Keep notes of your deployment process. This becomes valuable experience for job interviews.
### **3. Monitor Usage**
Set up alerts to avoid surprise bills if you choose paid tiers.
### **4. Learn as You Go**
Each deployment teaches you valuable DevOps skills. Don't just copy-paste—understand what each step does.
### **5. Build Your Portfolio**
A deployed AI application is impressive on resumes. Document the architecture, challenges, and solutions.
---
## **Next Steps**
1. **Choose your platform** (I recommend Vercel + Railway)
2. **Set up your deployment** following the guides above
3. **Configure your domain** (optional but professional)
4. **Test everything thoroughly**
5. **Share your success**
**Remember**: The goal isn't just to host your app—it's to learn valuable skills that will help in your career. Every deployment challenge you overcome makes you a better developer!
**You've got this! **