Skip to content

Latest commit

 

History

History
128 lines (98 loc) · 4.18 KB

File metadata and controls

128 lines (98 loc) · 4.18 KB

AcadVault Setup Checklist

Use this checklist to ensure you've completed all setup steps after cloning the repository.

✅ Pre-Setup Checklist

  • Node.js (v16+) installed - Run: node --version
  • npm installed - Run: npm --version
  • MongoDB installed OR MongoDB Atlas account created
  • Git installed - Run: git --version
  • Code editor installed (VS Code recommended)

✅ Clone & Install

  • Repository cloned: git clone <repo-url>
  • Navigated to project directory: cd ACADVault

✅ Backend Setup

  • Navigate to backend: cd backend
  • Dependencies installed: npm install
  • .env file created: copy .env.example .env (Windows) or cp .env.example .env (Mac/Linux)
  • Environment variables configured in backend/.env:
    • PORT=5000
    • MONGODB_URI set (local or Atlas)
    • JWT_SECRET changed to secure value
    • JWT_EXPIRE=7d
    • FRONTEND_URL=http://localhost:3000
  • MongoDB is running (local) OR Atlas connection string is correct
  • Backend starts successfully: npm run dev
  • Backend console shows: "Server running on port 5000" and "MongoDB Connected"

✅ Frontend Setup

  • Navigate to frontend: cd frontend (from root)
  • Dependencies installed: npm install --legacy-peer-deps
  • .env file created: copy .env.example .env (Windows) or cp .env.example .env (Mac/Linux)
  • Environment variable configured in frontend/.env:
    • REACT_APP_API_URL=http://localhost:5000/api
  • Frontend starts successfully: npm start
  • Browser opens at http://localhost:3000
  • No critical errors in console (warnings are okay)

✅ Verification Tests

  • Backend accessible: Visit http://localhost:5000
  • Frontend accessible: Visit http://localhost:3000
  • Landing page loads correctly
  • Can navigate to Login page
  • Can navigate to Register page

✅ Functional Tests

  • Can register a new user
  • Can login with registered credentials
  • Dashboard loads based on role
  • No console errors during navigation

✅ Database Check

For Local MongoDB:

  • MongoDB service is running
  • Can connect via: mongosh or mongo
  • Database acadvault is created
  • Collections are created after first user registration

For MongoDB Atlas:

  • Cluster is active
  • Network access configured (IP whitelisted)
  • Database user created with correct permissions
  • Connection string is correct in .env

🔧 Troubleshooting Checklist

If something doesn't work:

  • PowerShell execution policy set (Windows): Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  • All dependencies installed without errors
  • .env files exist and are not empty
  • MongoDB is running and accessible
  • Ports 5000 and 3000 are not already in use
  • No typos in environment variable names
  • Correct Node.js version (v16+)

🚀 Production Deployment Checklist

When deploying to production:

  • NODE_ENV=production set in backend
  • Strong JWT_SECRET configured
  • MongoDB Atlas used (not local MongoDB)
  • Firebase configured for file storage
  • Frontend REACT_APP_API_URL points to production backend
  • CORS configured correctly
  • HTTPS enabled for both frontend and backend
  • Database backups configured
  • Error logging set up
  • Environment variables secured (not in code)

📝 Optional Enhancements

  • Firebase Storage configured for file uploads
  • Email service configured (SMTP)
  • Custom domain configured
  • SSL certificates installed
  • Analytics added
  • Error monitoring (Sentry, etc.)

✅ Success Criteria

Your setup is complete when:

✅ Backend server runs without errors ✅ Frontend compiles and runs successfully
✅ MongoDB connection is established ✅ You can register and login ✅ Dashboard loads correctly ✅ No critical errors in browser console


Need Help? Check these resources:

Completed all checks? 🎉 You're ready to start developing!