This folder contains all SQL scripts required to set up the Azure SQL Database for the Resource Management Dashboard.
| File | Purpose |
|---|---|
01_create_tables.sql |
Creates all database tables |
02_insert_default_data.sql |
Inserts default theme configuration |
03_create_admin_user.sql |
Creates default admin user |
04_sample_resources.sql |
Inserts sample resources (optional) |
backup_and_restore.sql |
Backup and restore commands |
resource-dashboard-db (CHANGE ACCORDINGLY)your-unique-server-name (CHANGE ACCORDINGLY)dbadmin (CHANGE ACCORDINGLY)โฑ Wait: 5-10 minutes for deployment
.env configurationFormat for PyMSSQL (Backend .env):
mssql+pymssql://USERNAME:PASSWORD@SERVER_NAME.database.windows.net:1433/DATABASE_NAME
Example (CHANGE ACCORDINGLY):
mssql+pymssql://dbadmin:MySecure@Pass123@resource-server.database.windows.net:1433/resource-dashboard-db
dbadmin (or your admin username)01_create_tables.sql โ Paste โ Click "Run"02_insert_default_data.sql โ Paste โ Click "Run"03_create_admin_user.sql โ Paste โ Click "Run"04_sample_resources.sql โ Paste โ Click "Run"โ Done! Database is ready.
your-server.database.windows.net.sql file and execute in orderbash # Make sure backend .env is configured with DATABASE_URL cd backend source venv/bin/activate # or venv\Scripts\activate on Windows # Run migration python -c "from app.db.database import engine; from app.models.user import Base; Base.metadata.create_all(engine)"
Run this query in Query Editor:
sql -- Check all tables SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE';
Expected Output:
userstheme_configresourcesAfter running 03_create_admin_user.sql, you'll have:
admin@example.com (CHANGE ACCORDINGLY in the SQL file)Admin@123 (CHANGE ACCORDINGLY in the SQL file)โ ๏ธ IMPORTANT: Change these credentials in production!
Azure Portal:
Automated Backups:
Azure SQL automatically backs up databases. You can restore to any point in last 7-35 days.
Check:
.database.windows.netAdd IP to Firewall:
Solution:
Check:
Development (Local):
env DATABASE_URL=sqlite:///./resource_dashboard.db
Production (Azure SQL):
env # CHANGE ACCORDINGLY with your actual credentials DATABASE_URL=mssql+pymssql://dbadmin:YourPassword@your-server.database.windows.net:1433/resource-dashboard-db
project/ โโโ backend/ # Python FastAPI Backend โ โโโ app/ โ โ โโโ api/ # API endpoints (auth, users, theme) โ โ โโโ core/ # Config & security โ โ โโโ db/ # Database setup โ โ โโโ models/ # SQLAlchemy models โ โ โโโ schemas/ # Pydantic schemas โ โ โโโ main.py # FastAPI application โ โโโ requirements.txt # Python dependencies โ โโโ azure_sql_schema.sql # Database schema โ โโโ README.md # Backend documentation โ โโโ client/ # React Frontend โ โโโ src/ โ โ โโโ components/ # UI components โ โ โโโ pages/ # Page components โ โ โโโ contexts/ # Auth context (updated for Python backend) โ โ โโโ config/ # API configuration โ โ โโโ lib/ # API client (updated) โ โโโ .env.example # Frontend env vars โ โโโ DEPLOYMENT_GUIDE.md # Complete deployment instructions
bash # Azure Portal mein: 1. Create SQL Database 2. Note: server name, database name, username, password 3. Run: backend/azure_sql_schema.sql 4. Configure firewall rules for VM IPs
bash # Backend VM mein: cd backend pip install -r requirements.txt # .env file configure karo: AZURE_SQL_SERVER=your-server.database.windows.net AZURE_SQL_DATABASE=your-database AZURE_SQL_USERNAME=your-username AZURE_SQL_PASSWORD=your-password SECRET_KEY=your-secret-key # Run backend: python run.py # Production: uvicorn app.main:app --host 0.0.0.0 --port 8000
bash # Frontend VM mein: cd client # Update API URL in .env: VITE_API_URL=http://backend-vm-ip:8000 # Build frontend: npm install npm run build # Deploy to nginx: sudo cp -r dist/public/* /var/www/html/
.env file (see backend/.env.example)client/.env (see client/.env.example)bash
# Health check
curl http://localhost:8000/health
# Get theme config (public)
curl http://localhost:8000/api/theme
# Signup
curl -X POST http://localhost:8000/api/auth/signup \
-H "Content-Type: application/json" \
-d '{"email":"test@example.com","password":"password123"}'
# Login
curl -X POST http://localhost:8000/api/auth/login \
-d "email=test@example.com&password=password123"
bash # Local development: npm run dev # Open: http://localhost:5000 # Production build: npm run build # Serve dist/public/ with nginx
Resource Management Dashboard โข Azure SQL Database Setup Guide
Last Updated: November 26, 2025 โข Built with โค๏ธ by Ritesh Sharma