A modern, full-stack portfolio website for software engineers, web designers, and web application designers.
Backend:
- Django 4.2
- Django REST Framework
- SQLite (development) / PostgreSQL (production)
- CORS enabled
Frontend:
- React 18
- Vite
- Tailwind CSS
- Framer Motion
- Axios
portfolio/
├── backend/
│ ├── portfolio/ # Django project settings
│ ├── api/ # API app with models and views
│ ├── manage.py
│ ├── requirements.txt
│ └── README.md
├── frontend/
│ ├── src/
│ │ ├── components/ # Reusable React components
│ │ ├── pages/ # Page components
│ │ ├── services/ # API service layer
│ │ ├── styles/ # CSS and Tailwind config
│ │ ├── App.jsx
│ │ └── main.jsx
│ ├── index.html
│ ├── package.json
│ ├── vite.config.js
│ ├── tailwind.config.js
│ └── README.md
├── .github/
│ └── copilot-instructions.md
└── .gitignore
- Multiple role profiles (Engineer, Designer, Web Designer)
- Project showcase with categories
- Skills with proficiency levels
- Work experience timeline
- Education background
- Contact form
- Dark theme with cyan accents
- Glass morphism effects
- Smooth animations and transitions
- Responsive design
- Fluid interactive controls
- Hero section with social links
- Full admin panel for content management
- Portfolio information editor
- Project CRUD operations
- Skills management
- Experience and education tracking
- Message inbox
cd backend
pip install -r requirements.txt
python manage.py migrate
python manage.py createsuperuser
python manage.py runservercd frontend
npm install
npm run devAll API endpoints are prefixed with /api/
- Portfolio:
GET /portfolio/ - Skills:
GET /skills/,GET /skills/?category=frontend - Projects:
GET /projects/,GET /projects/{slug}/,GET /projects/featured/ - Experience:
GET /experience/ - Education:
GET /education/ - Messages:
POST /messages/
DJANGO_SECRET_KEY=your-secret-key
DEBUG=True
ALLOWED_HOSTS=localhost,127.0.0.1
REACT_APP_API_URL=http://localhost:8000/api
- Portfolio Data - Update through Django admin at
/admin - Styling - Modify
tailwind.config.jsin frontend - Components - Edit React components in
frontend/src/components - Colors - Change primary color in Tailwind config
- Change
DEBUG=False - Set proper
SECRET_KEY - Configure
ALLOWED_HOSTS - Use PostgreSQL database
- Set up static/media file serving
- Use Gunicorn for serving
- Run
npm run build - Deploy to static hosting (Vercel, Netlify, etc.)
- Update API URL in environment
MIT License - feel free to use for your portfolio!
For issues or questions, check the individual README files in backend/ and frontend/ directories.