Skip to content

darkspock/CareerPython

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

CareerPython πŸš€

Advanced Career Management Platform - A full-stack application showcasing Clean Architecture, Domain-Driven Design, and modern Python development practices.

Python FastAPI React TypeScript PostgreSQL Docker

🎯 Project Overview

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.

Key Features

  • πŸ‘₯ 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)

πŸ—οΈ Architecture Highlights

This project demonstrates professional-grade software architecture patterns:

Clean Architecture & DDD

β”œβ”€β”€ 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

Advanced Patterns Implemented

  • 🎯 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

πŸ› οΈ Technical Stack

Backend (Python)

  • 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

Frontend (React/TypeScript)

  • 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

DevOps & Infrastructure

  • 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

πŸš€ Quick Start

Prerequisites

  • Docker and Docker Compose
  • Python 3.13+ (for local development)
  • Node.js 18+ (for frontend development)

Development Setup

  1. Clone the repository
git clone https://github.com/darkspock/CareerPython.git
cd CareerPython
  1. Environment Configuration
cp .env.example .env
# Edit .env with your configuration
  1. Start with Docker (Recommended)
make start          # Start all services
make logs           # View logs
make migrate        # Run database migrations
  1. Local Development
# Backend
uv venv
uv sync
make rebuild-venv

# Frontend
cd client-vite
npm install
npm run dev

Available Commands

# 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 shell

πŸ§ͺ Testing & Quality

This 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

Code Quality Tools

  • MyPy - Static type checking
  • Flake8 - Code style and quality
  • Pytest Coverage - Test coverage reporting
  • Pre-commit Hooks - Automated code formatting
  • Bandit - Security vulnerability scanning

πŸ“Š API Documentation

The API is fully documented with OpenAPI/Swagger:

Key API Endpoints

# 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 template

🎨 Frontend Features

The 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

πŸ”’ Security Features

  • 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

πŸ“ˆ Performance & Scalability

  • 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

🌍 Production Ready

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

πŸ”§ Development Workflow

The project follows professional development practices:

  1. Feature Branches - Git flow with feature/bugfix branches
  2. Code Reviews - Pull request reviews with GitHub
  3. Automated Testing - CI/CD pipeline with GitHub Actions
  4. Code Quality Gates - Automated linting and testing
  5. Database Migrations - Safe schema evolution
  6. Documentation - Comprehensive code and API documentation

πŸ›οΈ Why This Project Demonstrates Senior-Level Skills

Architecture & Design

βœ… 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

Technical Proficiency

βœ… 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

Engineering Practices

βœ… 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

Full-Stack Capabilities

βœ… 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

πŸ“ž Contact

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.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •