Advanced Career Management Platform - A full-stack application showcasing Clean Architecture, Domain-Driven Design, and modern Python development practices.
CareerPython is a comprehensive career management platform that demonstrates advanced software engineering practices through a real-world application. Built with Clean Architecture principles and Domain-Driven Design, it showcases enterprise-level Python development skills ideal for technical recruiters and hiring managers.
- π₯ Candidate Management - Complete candidate lifecycle management with profiles, skills, and preferences
- π AI-Powered Resume Builder - Generate tailored resumes with AI enhancement and multiple formats
- πΌ Job Position Management - Full job posting lifecycle with approval workflows and matching
- π’ Company Administration - Multi-tenant company management with role-based access
- π€ Interview Templates - Structured interview processes with customizable templates
- π Application Tracking - End-to-end candidate application tracking system
- π Notification System - Real-time notifications and email communications
- π± Responsive UI - Modern React interface with internationalization (i18n)
This project demonstrates professional-grade software architecture patterns:
βββ Domain Layer (Business Logic)
β βββ Entities (Candidate, JobPosition, Company, Resume)
β βββ Value Objects (CandidateId, Email, SalaryRange)
β βββ Domain Services & Events
β βββ Repository Interfaces
βββ Application Layer (Use Cases)
β βββ Commands (Write Operations)
β βββ Queries (Read Operations)
β βββ Handlers (Business Logic)
β βββ DTOs (Data Transfer)
βββ Infrastructure Layer (External Concerns)
β βββ Database (SQLAlchemy ORM)
β βββ External APIs & Services
β βββ Repository Implementations
βββ Presentation Layer (API & UI)
βββ FastAPI Controllers
βββ Request/Response Models
βββ React Frontend
- π― CQRS (Command Query Responsibility Segregation) - Separate read/write operations
- π Event-Driven Architecture - Domain events with async processing
- π Dependency Injection - Full IoC container with dependency-injector
- π Factory & Builder Patterns - Domain entity creation and resume building
- π¦ Repository Pattern - Clean data access abstraction
- π Strategy Pattern - Multiple resume generation strategies
- πͺ Mediator Pattern - Command/Query bus implementation
- π Adapter Pattern - External service integrations
- FastAPI - Modern, fast web framework with automatic API documentation
- Python 3.13 - Latest Python features and performance improvements
- SQLAlchemy - Advanced ORM with relationship mapping
- PostgreSQL - Production-grade relational database
- Redis - Caching and session management
- Dramatiq - Background job processing with Redis broker
- Alembic - Database migrations and schema management
- Pydantic - Data validation and settings management
- Dependency Injector - Professional IoC container
- PyJWT - JWT token authentication
- ReportLab & WeasyPrint - PDF generation for resumes
- Pytest - Comprehensive testing framework
- React 19 - Latest React with concurrent features
- TypeScript 5.8 - Type-safe development
- Vite - Lightning-fast build tool
- Tailwind CSS - Utility-first CSS framework
- TipTap - Rich text editor for resume building
- React Hook Form - Form validation and management
- Framer Motion - Smooth animations and transitions
- i18next - Internationalization (English/Spanish)
- React Router - Client-side routing
- DnD Kit - Drag and drop functionality
- Docker - Containerized development and deployment
- Docker Compose - Multi-service orchestration
- GitHub Actions - Complete CI/CD pipeline
- Nginx - Reverse proxy and static asset serving
- UV - Ultra-fast Python package management
- Docker and Docker Compose
- Python 3.13+ (for local development)
- Node.js 18+ (for frontend development)
- Clone the repository
git clone https://github.com/darkspock/CareerPython.git
cd CareerPython- Environment Configuration
cp .env.example .env
# Edit .env with your configuration- Start with Docker (Recommended)
make start # Start all services
make logs # View logs
make migrate # Run database migrations- Local Development
# Backend
uv venv
uv sync
make rebuild-venv
# Frontend
cd client-vite
npm install
npm run dev# Docker Operations
make start # Start development environment
make stop # Stop all services
make build # Build containers
make logs # View service logs
# Database
make migrate # Run migrations
make revision m="description" # Create new migration
# Development
make test # Run test suite
make bash # Access container shellThis project demonstrates professional testing practices:
- Unit Tests - Domain logic and business rules
- Integration Tests - Database and external service interactions
- Architecture Tests - Enforce Clean Architecture boundaries
- API Tests - FastAPI endpoint testing
- Frontend Tests - React component testing
- E2E Tests - Full user workflow testing with Playwright
- MyPy - Static type checking
- Flake8 - Code style and quality
- Pytest Coverage - Test coverage reporting
- Pre-commit Hooks - Automated code formatting
- Bandit - Security vulnerability scanning
The API is fully documented with OpenAPI/Swagger:
- Development: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
# Candidate Management
POST /api/candidates # Create candidate
GET /api/candidates/{id} # Get candidate details
PUT /api/candidates/{id} # Update candidate
GET /api/candidates # List candidates with filters
# Resume Operations
POST /api/candidates/{id}/resumes # Create resume
GET /api/resumes/{id} # Get resume
PUT /api/resumes/{id} # Update resume content
POST /api/resumes/{id}/generate-pdf # Generate PDF
# Job Management
POST /api/admin/job-positions # Create job position
GET /api/admin/job-positions # List job positions
PUT /api/admin/job-positions/{id} # Update job position
POST /api/admin/job-positions/{id}/approve # Approve job posting
# Interview Templates
POST /api/admin/interview-templates # Create template
GET /api/admin/interview-templates # List templates
PUT /api/admin/interview-templates/{id} # Update templateThe React frontend showcases modern web development:
- Responsive Design - Mobile-first approach with Tailwind CSS
- Rich Text Editing - Professional resume editing with TipTap
- Real-time Updates - Live form validation and feedback
- Drag & Drop - Intuitive resume section reordering
- Internationalization - English and Spanish support
- Accessibility - WCAG compliance and keyboard navigation
- Performance - Code splitting and lazy loading
- State Management - React hooks and context API
- JWT Authentication - Secure token-based authentication
- Password Hashing - Argon2 password hashing
- CORS Configuration - Proper cross-origin resource sharing
- Input Validation - Pydantic models for request validation
- SQL Injection Prevention - SQLAlchemy ORM protection
- Security Headers - Comprehensive security header configuration
- Database Optimization - Indexed queries and connection pooling
- Caching Strategy - Redis caching for frequently accessed data
- Background Processing - Async job processing with Dramatiq
- API Rate Limiting - Request throttling and abuse prevention
- Static Asset Optimization - Nginx serving with compression
- Database Migrations - Safe schema evolution with Alembic
This application includes production-grade features:
- Health Checks - Application and database health monitoring
- Logging - Structured logging with different levels
- Monitoring - Application metrics and error tracking
- Backup Systems - Database backup and recovery procedures
- Load Balancing - Nginx reverse proxy configuration
- SSL/TLS - HTTPS encryption support
- Environment Management - Development, staging, and production configs
The project follows professional development practices:
- Feature Branches - Git flow with feature/bugfix branches
- Code Reviews - Pull request reviews with GitHub
- Automated Testing - CI/CD pipeline with GitHub Actions
- Code Quality Gates - Automated linting and testing
- Database Migrations - Safe schema evolution
- Documentation - Comprehensive code and API documentation
β Clean Architecture - Proper separation of concerns and dependency inversion β Domain-Driven Design - Rich domain models with business logic encapsulation β SOLID Principles - Single responsibility, open/closed, and dependency inversion β Design Patterns - Multiple patterns applied appropriately
β Modern Python - Python 3.13 with advanced features and type hints β Async Programming - Proper async/await usage and background processing β Database Design - Complex relationships and optimized queries β API Design - RESTful APIs with proper HTTP status codes and documentation
β Testing Strategy - Unit, integration, and e2e testing β CI/CD Pipeline - Automated testing, building, and deployment β Code Quality - Linting, type checking, and security scanning β Documentation - Comprehensive README and API docs
β Backend Development - FastAPI with advanced Python patterns β Frontend Development - Modern React with TypeScript β DevOps - Docker, containerization, and deployment automation β Database Management - PostgreSQL with migrations and optimization
Juan MacΓas π§ extjmv@gmail.com πΌ LinkedIn Profile
β If this project demonstrates the kind of Python expertise you're looking for, let's connect!
This project showcases production-ready code, architectural best practices, and full-stack development capabilities that translate directly to enterprise software development roles.