A modern, responsive portfolio website built with Django, featuring a clean design, AI-powered chat assistant, and dynamic content management.
- Modern UI/UX: Clean, responsive design with dark mode support
- AI Chat Assistant: Powered by Google Gemini AI for interactive conversations
- AI Content Summarization: Generate quick summaries of blog posts and projects
- Dynamic Content Management: Django admin panel with Markdown editor
- SEO Optimized: Meta tags, sitemaps, and semantic HTML
- Project Showcase: Display projects with live demos and GitHub links
- Blog Platform: Share articles with syntax-highlighted code snippets
- Certifications: Showcase professional certifications
- Contact Section: Easy way for visitors to get in touch
- Backend: Django 5.2.8
- Frontend: HTML, CSS (Tailwind CSS), JavaScript
- Database: SQLite (development) / PostgreSQL (production)
- AI Integration: Google Generative AI (Gemini)
- Markdown: django-markdownx for rich content editing
- Code Highlighting: highlight.js
- Icons: Lucide Icons
- Python 3.8+
- pip
- Virtual environment (recommended)
-
Clone the repository
git clone https://github.com/yourusername/myportfolio.git cd myportfolio -
Create and activate virtual environment
python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Set up environment variables
Create a
.envfile in the project root:SECRET_KEY=your-secret-key-here DEBUG=True GEMINI_API_KEY=your-gemini-api-key ALLOWED_HOSTS=localhost,127.0.0.1
-
Run migrations
python manage.py migrate
-
Create superuser
python manage.py createsuperuser
-
Collect static files
python manage.py collectstatic
-
Run the development server
python manage.py runserver
Visit
http://localhost:8000to view the site.
| Variable | Description | Required |
|---|---|---|
SECRET_KEY |
Django secret key | Yes |
DEBUG |
Debug mode (True/False) | Yes |
GEMINI_API_KEY |
Google Gemini API key | Yes |
ALLOWED_HOSTS |
Comma-separated list of allowed hosts | Yes |
- Visit Google AI Studio
- Create a new API key
- Add it to your
.envfile
myportfolio/
├── myportfolio/ # Project settings
│ ├── settings.py # Main settings
│ ├── urls.py # URL configuration
│ └── wsgi.py # WSGI config
├── portfolio/ # Main app
│ ├── models.py # Data models
│ ├── views.py # Views
│ ├── urls.py # App URLs
│ ├── admin.py # Admin configuration
│ ├── templates/ # HTML templates
│ └── templatetags/ # Custom template tags
├── static/ # Static files (CSS, JS, images)
├── media/ # User-uploaded files
├── .env # Environment variables (not in git)
├── .gitignore # Git ignore file
├── requirements.txt # Python dependencies
└── README.md # This file
- Access the admin panel at
/admin - Log in with your superuser credentials
- Add/edit Projects, Blogs, and Certifications
- Templates are in
portfolio/templates/portfolio/ - Static files (CSS, JS) are in
static/ - Tailwind CSS classes are used throughout
- Set
DEBUG=Falsein.env - Update
ALLOWED_HOSTSwith your domain - Use a production database (PostgreSQL recommended)
- Set up a proper web server (Gunicorn + Nginx)
- Configure HTTPS
- Set up static file serving
- Heroku: Easy deployment with Git
- DigitalOcean: App Platform or Droplets
- AWS: Elastic Beanstalk or EC2
- Railway: Simple deployment
- Render: Free tier available
This project is open source and available under the MIT License.
Raj Kumar Sunar
- Location: West Sussex, United Kingdom
- Phone: +44 7949 514215
- Portfolio: rajsunar.live
Contributions, issues, and feature requests are welcome!
Give a ⭐️ if you like this project!