A dynamic, full-stack Django + React portfolio website showcasing projects, skills, certifications, and professional experience — built with scalability and clean architecture in mind.
- Django
- Django REST Framework (DRF)
- PostgreSQL / SQLite
- CORS & CSRF Security
- React (Vite)
- TailwindCSS
- Axios
- Render (Backend)
- Vercel (Frontend)
✅ Full-stack architecture (Django + React)
✅ RESTful API with filtering & custom endpoints
✅ Admin dashboard for content management
✅ Contact form with backend email handling
✅ Featured & ML project filters
✅ Dynamic skills with proficiency levels
✅ Environment-based configuration
✅ Secure production-ready setup
✅ Easy deployment (Render + Vercel)
✅ Scalable and modular project structure
(Add your screenshots inside a
/screenshotsfolder and update paths below)
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activatepip install -r requirements.txtcp .env.example .envEdit .env and configure:
SECRET_KEY=your_secret_key
DEBUG=True
ALLOWED_HOSTS=127.0.0.1,localhost
DATABASE_URL=your_database_url
python manage.py migrate
python manage.py createsuperuserpython manage.py populate_portfoliopython manage.py collectstatic --noinputpython manage.py runserver🔗 Backend: http://localhost:8000
🔗 Admin Panel: http://localhost:8000/admin
cd frontendnpm installnpm run dev🔗 Frontend: http://localhost:3000
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/skills/ |
Get all skills |
| GET | /api/skills/?category=backend |
Filter by category |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/projects/ |
Get all projects |
| GET | /api/projects/featured/ |
Get featured projects |
| GET | /api/projects/ml_projects/ |
Get ML projects |
| GET | /api/projects/{slug}/ |
Get project details |
| Method | Endpoint |
|---|---|
| GET | /api/education/ |
| GET | /api/experience/ |
| GET | /api/certifications/ |
| Method | Endpoint |
|---|---|
| GET | /api/settings/current/ |
| Method | Endpoint |
|---|---|
| POST | /api/contact/ |
{
"name": "Your Name",
"email": "your.email@example.com",
"subject": "Subject",
"message": "Your message"
}Access via:
/admin
- ✅ Skills (categories + proficiency)
- ✅ Projects (tech stack, highlights, links)
- ✅ Education
- ✅ Certifications
- ✅ Work Experience
- ✅ Site Settings (bio, social links)
- ✅ Contact Messages
git add .
git commit -m "Deploy portfolio"
git push origin main- Go to Render.com
- Create New Web Service
- Connect GitHub repository
- Add Environment Variables
- Deploy 🚀
cd frontend
npm install -g vercel
vercelFollow CLI instructions to deploy.
portfolio/
│
├── portfolio_site/ # Project settings
│ ├── settings.py
│ ├── urls.py
│ ├── wsgi.py
│ └── asgi.py
│
├── main/ # Portfolio app
│ ├── models.py
│ ├── views.py
│ ├── serializers.py
│ ├── admin.py
│ └── management/
│ └── commands/
│ └── populate_portfolio.py
│
├── contact/ # Contact app
│ ├── models.py
│ ├── views.py
│ ├── serializers.py
│ └── signals.py
│
├── frontend/ # React frontend
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── App.jsx
│ │ └── index.js
│ └── package.json
│
├── requirements.txt
├── manage.py
├── .env.example
└── README.md
Run backend tests:
python manage.py test- Go to
/admin - Click Projects → Add Project
- Fill:
- Title
- Slug (auto-generated)
- Description
- Tech stack (comma-separated)
- Image & Links
- Highlights (comma-separated)
- Mark as Featured if needed
- Save ✅
- Go to
/admin - Click Skills → Add Skill
- Select category:
- Backend
- Frontend
- ML
- Soft Skills
- Tools
- Enter proficiency percentage
- Save ✅
✔ CORS configured
✔ CSRF protection enabled
✔ Secure password validators
✔ Environment variables for secrets
✔ ORM-based SQL injection protection
✔ Production-ready configuration
This project is open-source and available under the MIT License.
- Django & DRF Communities
- React Ecosystem
- TailwindCSS
- Open-source Contributors
If you like this project, consider giving it a ⭐ on GitHub!


