Skip to content

devakowakou/Hire-quick-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Hire Quick - Modern Recruitment Platform API

A comprehensive, high-performance recruitment platform built with FastAPI featuring async operations, AI-powered features, and modern API design.

πŸš€ Features

πŸ” Authentication & Security

  • JWT-based authentication with refresh tokens
  • Role-based access control (Candidate, Recruiter, Admin)
  • Password security with bcrypt hashing
  • Email verification and password reset flows
  • Social authentication support ready

πŸ‘₯ User Management

  • Dual user types: Candidates and Recruiters
  • Profile management with file upload support
  • Profile completion tracking
  • Secure password management

πŸ’Ό Job Management

  • Job posting and management for recruiters
  • Advanced search and filtering capabilities
  • Job save/unsave functionality for candidates
  • Custom application forms per job
  • Job performance analytics

πŸ“„ Application System

  • Dynamic application forms with custom fields
  • File upload support (resumes, portfolios, cover letters)
  • Application status tracking with real-time updates
  • Interview scheduling and management
  • Application analytics and reporting

πŸ€– AI-Powered Features (Ready for Implementation)

  • Resume parsing and analysis
  • Job-candidate matching algorithms
  • Skill extraction and categorization
  • AI interviewer and mock interview sessions
  • Automated CV screening
  • Background verification automation

🏒 Company Management

  • Company profiles and branding
  • Multi-company support for enterprise
  • Company-specific job listings
  • Team management for recruiters

πŸ“Š Analytics & Reporting

  • Application analytics and insights
  • Job performance metrics
  • User engagement tracking
  • Recruitment funnel analysis

πŸ”” Real-time Features

  • WebSocket notifications (ready for implementation)
  • Real-time application updates
  • Chat functionality between candidates and recruiters
  • Live interview scheduling

πŸ—οΈ Technology Stack

  • Backend: FastAPI (Python 3.8+)
  • Database: SQLAlchemy with async support (SQLite for dev, PostgreSQL for production)
  • Authentication: JWT with PyJWT
  • Validation: Pydantic for request/response models
  • Documentation: Automatic OpenAPI/Swagger generation
  • Testing: Comprehensive API test suite
  • File Storage: Local storage with cloud provider support ready

πŸ“ Project Structure

Hire-quick/
β”œβ”€β”€ fastapi_app/                 # Main FastAPI application
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ api/v1/endpoints/   # API route handlers
β”‚   β”‚   β”œβ”€β”€ core/               # Core functionality (config, database, security)
β”‚   β”‚   β”œβ”€β”€ models/             # SQLAlchemy database models
β”‚   β”‚   └── schemas/            # Pydantic request/response schemas
β”‚   β”œβ”€β”€ main.py                 # FastAPI application entry point
β”‚   β”œβ”€β”€ requirements.txt        # Python dependencies
β”‚   β”œβ”€β”€ migrate.py             # Database migration script
β”‚   β”œβ”€β”€ test_api.py            # API testing suite
β”‚   └── README.md              # Detailed setup instructions
β”œβ”€β”€ CONVERSION_SUMMARY.md       # FastAPI features details
└── README.md                  # This file

πŸš€ Quick Start

1. Clone the Repository

git clone https://github.com/devakowakou/hire-quick-app.git
cd hire-quick-app/fastapi_app

2. Install Dependencies

pip install -r requirements.txt

3. Set Up Environment

cp .env.example .env
# Edit .env with your configuration

4. Initialize Database

python migrate.py

5. Run the Application

uvicorn main:app --reload --host 0.0.0.0 --port 8000

6. Access the API

πŸ“š API Documentation

The API provides comprehensive endpoints for:

Authentication

  • POST /api/v1/auth/register - User registration
  • POST /api/v1/auth/login - User login
  • POST /api/v1/auth/refresh - Refresh access token
  • POST /api/v1/auth/password-reset - Request password reset
  • POST /api/v1/auth/verify-email - Verify email address

User Management

  • GET /api/v1/users/me - Get current user profile
  • PUT /api/v1/users/candidate-profile - Update candidate profile
  • PUT /api/v1/users/recruiter-profile - Update recruiter profile
  • POST /api/v1/users/upload-profile-picture - Upload profile picture

Job Management

  • GET /api/v1/jobs - List jobs with filtering and search
  • POST /api/v1/jobs/ - Create new job (recruiters only)
  • GET /api/v1/jobs/{job_id} - Get job details
  • POST /api/v1/jobs/{job_id}/save - Save job for later

Applications

  • GET /api/v1/applications/ - List applications
  • POST /api/v1/applications/ - Submit job application
  • GET /api/v1/applications/{id} - Get application details
  • PUT /api/v1/applications/{id}/status - Update application status

Companies

  • GET /api/v1/companies/ - List companies
  • POST /api/v1/companies/ - Create company profile
  • GET /api/v1/companies/{id} - Get company details
  • GET /api/v1/companies/{id}/jobs - Get company jobs

πŸ§ͺ Testing

Run the comprehensive API test suite:

python test_api.py

πŸ”§ Configuration

Key environment variables:

# Database
DATABASE_URL=sqlite:///./hire_quick.db

# Security
SECRET_KEY=your-secret-key-here
ACCESS_TOKEN_EXPIRE_MINUTES=30
REFRESH_TOKEN_EXPIRE_DAYS=7

# Email (for notifications)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your-email@gmail.com
SMTP_PASSWORD=your-app-password

πŸš€ Deployment

Docker Deployment (Recommended)

# Build and run with Docker
docker build -t hire-quick-api .
docker run -p 8000:8000 hire-quick-api

Production Deployment

  • Use PostgreSQL for production database
  • Set up Redis for caching and background tasks
  • Configure proper CORS settings
  • Set up SSL/TLS certificates
  • Use a reverse proxy (nginx)
  • Set up monitoring and logging

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the GPL License - see the LICENSE file for details.

πŸ†˜ Support

For support and questions:

🎯 Roadmap

  • AI-powered resume parsing
  • Advanced job matching algorithms
  • Real-time chat system
  • Video interview integration
  • Mobile app API support
  • Advanced analytics dashboard
  • Multi-language support
  • Enterprise SSO integration

Built with ❀️ using FastAPI and modern Python

About

No description, website, or topics provided.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published