EduGuard AI is your academic bodyguard — an AI-powered platform that protects students and schools from scams, fake offers, and forged academic documents. It detects fraud in WhatsApp messages, emails, admission/job letters, and even result slips.
- AI Scam Detection: Instantly scan suspicious text or upload documents for authenticity checks.
- Document & Text Analysis: Upload PDFs, DOCX, images, or paste text to check for scams or forgeries.
- Scam Reporting: Users can report suspicious offers, messages, or documents.
- User Authentication: Secure signup/login with token-based authentication.
- Dashboard: View your scan/report history and statistics.
- Education: Learn how to avoid scams and protect yourself.
- Frontend: React (Vite), Tailwind CSS
- Backend: Django, Django REST Framework
- AI: Google Gemini API (for text/image classification, summarization, keyword extraction)
- Database: SQLite (default, can be swapped for Postgres/MySQL)
EduGuard AI/
├── backend/ # Django backend (API, models, AI integration)
├── frontend/ # React frontend (user interface)
├── README.md # This file
- Install dependencies:
cd backend pip install -r requirements.txt - Set up environment variables:
- Copy
.env.exampleto.envand fill in your secrets (e.g.,GEMINI_API_KEY).
- Copy
- Run migrations:
python manage.py migrate
- Create a superuser (optional):
python manage.py createsuperuser
- Run the backend server:
The API will be available at
python manage.py runserver
http://127.0.0.1:8000/api/
- Install dependencies:
cd frontend npm install - Configure API endpoint:
- Edit
frontend/src/api.jsif you need to change the backend URL.
- Edit
- Run the frontend (development):
The app will be available at
npm run dev
http://localhost:5173/
- Login/Signup: Create an account or log in.
- Scan Text: Paste suspicious text to check for scams.
- Upload Document: Upload files (PDF, DOCX, JPG, PNG) for authenticity analysis.
- Report Scam: Fill out the form to report a scam (with optional evidence).
- Dashboard: View your scan/report history and stats.
- All protected endpoints require an
Authorization: Token <your_token>header. - On login/signup, the backend returns a token. Store it in
localStorage(handled by the frontend). - File uploads must use
multipart/form-data.
cd frontend
npm run build- This creates a
dist/folder with static files.
- Option 1: With Django
- Move/copy the
dist/folder to your Djangostatic/directory or use WhiteNoise to serve static files. - Update Django
settings.py:STATICFILES_DIRS = [BASE_DIR / 'frontend/dist']
- Make sure your Django URLs serve the React app for all non-API routes.
- Move/copy the
- Option 2: Standalone Static Server
- Use serve:
npx serve -s dist
- Or deploy to Netlify, Vercel, or any static hosting provider.
- Use serve:
- Set your backend API URL in the frontend if deploying separately (see
frontend/src/api.js). - Set all secrets (API keys, etc.) in your backend environment.
- Use HTTPS in production.
- Set Django
DEBUG = Falseand configureALLOWED_HOSTS. - Use a production-ready database (Postgres, MySQL, etc.) if needed.
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.