| A clean, modern, and professional personal developer portfolio built with Python 3, Django, and Bootstrap 5. Designed specifically for Rupesh Pathak (Computer Science Student | Aspiring Software & AI Engineer) to showcase projects, technical skills, academic background, certifications, resume, and contact management. |
DATABASE_URL.python manage.py seed_data) to populate the portfolio immediately.Follow these exact steps to run this project on your Windows machine:
Rupesh-Portfolio.zip and select Extract All…C:\Users\<YourUsername>\Projects\Rupesh-Portfolio).Rupesh-Portfolio directory (make sure you see manage.py inside the root folder).Ctrl + ` (backtick) or go to the top menu: Terminal → New Terminal.Run the following command in the terminal to create an isolated Python environment:
python -m venv venv
(Wait 5-10 seconds for the venv folder to appear).
venv\Scripts\Activate.ps1
⚠️ PowerShell Execution Policy Error?
If Windows gives an error saying “running scripts is disabled on this system”, simply run:Set-ExecutionPolicy -Scope Process -ExecutionPolicy BypassThen run
venv\Scripts\Activate.ps1again.
Alternatively, switch to the Command Prompt (CMD) in VS Code terminal and run:venv\Scripts\activate.bat
Once activated, your terminal prompt will show (venv) at the beginning of the line.
With (venv) active, install all dependencies:
pip install -r requirements.txt
Create the local SQLite database tables:
python manage.py migrate
Run the built-in seeding command to populate your skills, education, AutoCare project, and site settings:
python manage.py seed_data
Create an account to manage your portfolio content:
python manage.py createsuperuser
You will be prompted for:
admin or rupesh)pathakrupesh666@gmail.com)python manage.py runserver
Log in to the Admin Panel using the superuser credentials created in Step 9 to customize your name, bio, social links, add new projects, or view submitted contact messages.
Rupesh-Portfolio/
├── manage.py # Django CLI management utility
├── requirements.txt # Python dependencies (Django, dotenv, etc.)
├── README.md # This setup and documentation file
├── .gitignore # Git exclusions for secrets, venv, and bytecode
├── .env.example # Example environment configuration
├── .env # Local development settings
│
├── config/ # Core Django project configuration
│ ├── __init__.py
│ ├── asgi.py # ASGI entry point
│ ├── wsgi.py # WSGI entry point
│ ├── settings.py # Project settings (SQLite, static, media, apps)
│ └── urls.py # Top-level URL routing & 404 handler
│
├── portfolio/ # Main portfolio application
│ ├── __init__.py
│ ├── admin.py # Admin registrations & customized list views
│ ├── apps.py # App configuration
│ ├── models.py # Models: SiteSettings, Project, Skill, Education, etc.
│ ├── views.py # View functions (home, about, projects, contact, etc.)
│ ├── urls.py # Portfolio URL routes
│ ├── forms.py # ContactForm with validation
│ ├── tests.py # Automated unit tests
│ ├── context_processors.py # Injects site settings and current year globally
│ ├── management/ # Custom management commands
│ │ └── commands/
│ │ └── seed_data.py # `python manage.py seed_data` command
│ └── migrations/
│ └── 0001_initial.py # Initial database migration
│
├── templates/ # Reusable HTML5 templates
│ ├── base.html # Master layout (Navbar, Footer, CSS/JS includes)
│ ├── home.html # Hero, Interests, Featured Projects, Highlights
│ ├── about.html # Bio, Education, Career Interests
│ ├── skills.html # Categorized skills matrix
│ ├── projects.html # Project catalog with instant JS category filters
│ ├── project_detail.html # Deep dive into individual project specs
│ ├── resume.html # Qualifications, coursework, and PDF download
│ ├── contact.html # Contact form with database persistence & messages
│ └── 404.html # Friendly custom 404 error page
│
├── static/ # Static assets
│ ├── css/
│ │ └── style.css # Custom Modern Dark styles + Light mode overrides
│ └── js/
│ └── main.js # Theme toggle & category filter scripts
│
└── media/ # User uploads and media
├── projects/ # Project screenshots & AutoCare SVG illustration
├── resume/ # Folder for rupesh_resume.pdf
└── profile/ # Folder for profile picture uploads
Verify that all views and forms are functioning correctly:
python manage.py test
/admin/ and click on Site Settings. Update your GitHub URL, LinkedIn URL, bio, and upload your profile picture.media/resume/ or upload it through Site Settings > Resume file in Django Admin.Featured checkbox to showcase them on the homepage.DATABASE_URL in your environment variables. Django will automatically connect to PostgreSQL!This portfolio template is open-source and customizable for personal developer portfolios.