Portfolio and blog platform for developers. Built with Django 5.2, includes project catalog, blog, resume module, contact form, and automatic EN/ES translations.
# Clone and configure
git clone https://github.com/henfrydls/Portafolio-Manager.git
cd Portafolio-Manager
cp .env.example .env # Edit SECRET_KEY if needed
# Run with Docker Compose (includes PostgreSQL, Redis, LibreTranslate)
docker compose up --build
# Create admin user (in another terminal)
docker compose exec web python manage.py createsuperuserOpen:
- http://localhost:8000 (portfolio)
- http://localhost:8000/dashboard (admin dashboard)
- http://localhost:8000/admin (Django admin)
Production/Staging (nginx on port 80):
docker compose --profile staging up --buildSee docs/DOCKER_COMMANDS.md for details.
Note: This uses SQLite and has no automatic translations. For full features, use Docker.
python -m venv .venv && .venv\Scripts\activate # Windows
# source .venv/bin/activate # Linux/Mac
pip install -r requirements/development.txt
cp .env.example .env # Edit SECRET_KEY, DEBUG=True
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver# Docker
docker compose exec web python manage.py populate_test_data
# Local Python
python manage.py populate_test_dataCreates admin/admin123 user and demo content.
| Guide | Purpose |
|---|---|
| SETUP.md | Installation, configuration, troubleshooting |
| DOCKER_COMMANDS.md | Docker Compose commands |
| DEPLOYMENT.md | Production deployment (AWS, GHCR) |
| CONFIGURATION_GUIDE.md | Environment variables |
| ADMIN_USAGE.md | Admin panel workflows |
- Responsive portfolio with sidebar navigation
- Project catalog with metadata and visibility control
- Blog with categories, tags, and publication workflow
- Resume module with PDF export
- Contact form with rate limiting
- Automatic translations (EN/ES) via LibreTranslate
- SEO: sitemaps, canonical URLs, structured data
MIT License. See LICENSE.