100 lines
2.7 KiB
Markdown
100 lines
2.7 KiB
Markdown
|
|
# MongoDB Atlas Setup Guide
|
||
|
|
|
||
|
|
## Quick Setup (5 minutes)
|
||
|
|
|
||
|
|
### 1. Create Free MongoDB Atlas Account
|
||
|
|
|
||
|
|
1. Go to: <https://www.mongodb.com/cloud/atlas/register>
|
||
|
|
2. Sign up with email or Google account
|
||
|
|
3. Choose **FREE M0 cluster** (512MB storage, perfect for this app)
|
||
|
|
|
||
|
|
### 2. Create Database Cluster
|
||
|
|
|
||
|
|
1. After login, click **"Build a Database"**
|
||
|
|
2. Choose **M0 FREE** tier
|
||
|
|
3. Select **AWS** provider and closest region (e.g., US East)
|
||
|
|
4. Click **"Create Cluster"** (takes 1-3 minutes)
|
||
|
|
|
||
|
|
### 3. Configure Database Access
|
||
|
|
|
||
|
|
1. Click **"Database Access"** in left sidebar
|
||
|
|
2. Click **"Add New Database User"**
|
||
|
|
- Username: `church_admin` (or your choice)
|
||
|
|
- Password: Click "Autogenerate Secure Password" and **COPY IT**
|
||
|
|
- Database User Privileges: **Atlas admin**
|
||
|
|
3. Click **"Add User"**
|
||
|
|
|
||
|
|
### 4. Configure Network Access
|
||
|
|
|
||
|
|
1. Click **"Network Access"** in left sidebar
|
||
|
|
2. Click **"Add IP Address"**
|
||
|
|
3. Click **"Allow Access from Anywhere"** (0.0.0.0/0)
|
||
|
|
- This allows your PC, mobile, and tablet to connect
|
||
|
|
4. Click **"Confirm"**
|
||
|
|
|
||
|
|
### 5. Get Connection String
|
||
|
|
|
||
|
|
1. Click **"Database"** in left sidebar
|
||
|
|
2. Click **"Connect"** button on your cluster
|
||
|
|
3. Choose **"Connect your application"**
|
||
|
|
4. Copy the connection string (looks like):
|
||
|
|
|
||
|
|
```
|
||
|
|
mongodb+srv://church_admin:<password>@cluster0.xxxxx.mongodb.net/?retryWrites=true&w=majority
|
||
|
|
```
|
||
|
|
|
||
|
|
5. Replace `<password>` with the password you copied in step 3
|
||
|
|
|
||
|
|
### 6. Update Backend Configuration
|
||
|
|
|
||
|
|
Edit `backend/.env` file:
|
||
|
|
|
||
|
|
```env
|
||
|
|
MONGODB_URI=mongodb+srv://church_admin:YOUR_PASSWORD_HERE@cluster0.xxxxx.mongodb.net/?retryWrites=true&w=majority
|
||
|
|
MONGODB_DATABASE=church_songlyric
|
||
|
|
```
|
||
|
|
|
||
|
|
### 7. Run Migration
|
||
|
|
|
||
|
|
```powershell
|
||
|
|
cd backend
|
||
|
|
.\venv\Scripts\python.exe migrate_to_mongodb.py
|
||
|
|
```
|
||
|
|
|
||
|
|
## Verify Setup
|
||
|
|
|
||
|
|
After migration, you can view your data:
|
||
|
|
|
||
|
|
1. Go to MongoDB Atlas dashboard
|
||
|
|
2. Click **"Browse Collections"**
|
||
|
|
3. You should see:
|
||
|
|
- `songs` collection (39 documents)
|
||
|
|
- `profiles` collection (5 documents)
|
||
|
|
- `profile_songs` collection (5 documents)
|
||
|
|
|
||
|
|
## Connection Benefits
|
||
|
|
|
||
|
|
✅ **Cross-Device Access**: PC, mobile, tablet all connect to same cloud database
|
||
|
|
✅ **Always Online**: No need to keep PC running
|
||
|
|
✅ **Automatic Backups**: Atlas handles backups
|
||
|
|
✅ **Free Forever**: M0 tier is permanently free (512MB)
|
||
|
|
✅ **Secure**: Encrypted connections, user authentication
|
||
|
|
|
||
|
|
## Troubleshooting
|
||
|
|
|
||
|
|
**Connection timeout?**
|
||
|
|
|
||
|
|
- Check Network Access allows 0.0.0.0/0
|
||
|
|
- Verify connection string has correct password
|
||
|
|
- Check internet connection
|
||
|
|
|
||
|
|
**Authentication failed?**
|
||
|
|
|
||
|
|
- Double-check password (no < > brackets)
|
||
|
|
- Verify username matches database user
|
||
|
|
|
||
|
|
**Need help?**
|
||
|
|
|
||
|
|
- MongoDB Atlas docs: <https://docs.atlas.mongodb.com/>
|
||
|
|
- Contact support through Atlas dashboard
|