Skip to content

Fa-Abdullah/HR-AI-Assistant

Repository files navigation

HR AI Assistant

An intelligent Human Resources assistant web application built with Django. This system is designed to automate and streamline routine HR tasks, providing a user-friendly web interface and a robust backend.

Key Features

Employee Management: A complete system for managing employee data and records.

AI Integration: Leverages AI capabilities to enhance and optimize HR operations.

Dashboard and UI: A professional and responsive user interface.

Data Storage: Uses a lightweight SQLite database for development and testing.

Technology Stack

Backend

Framework: Django (Python)

Language: Python 3.x

Database: PostgreSQL

Environment Variables: Managed with python-dotenv (.env file)

Key Python Libraries: Django and additional libraries as specified in requirements.txt

Frontend and User Interface

Templates: Django Template Language (HTML)

Styling: CSS and Bootstrap for responsive design

Static Files: Managed within the media directory for user-uploaded content

Assets: Client-side images, CSS, and JavaScript files

Development and Deployment Tools

Virtual Environment: venv for isolated Python environment

Version Control: Git

Development Server: Django's built-in server

Project Structure

Below is a breakdown of the main folders and files in this repository.

core: Core application containing project settings and configurations

  • settings.py: Main project settings
  • urls.py: Main URL routing
  • wsgi.py: WSGI configuration for deployment

enppi_backend: Main backend application containing business logic

  • models.py: Database models
  • views.py: Request handlers and logic
  • admin.py: Admin interface configuration

media: User-uploaded files such as images and documents

templates: HTML template files for the frontend user interface

venv: Virtual environment (excluded from version control)

.env: Environment variables (excluded from version control)

.env.example: Example environment variables file

db.sqlite3: SQLite database file

manage.py: Django command-line utility

README.md: Project documentation (this file)

requirements.txt: List of Python dependencies

Setup and Local Installation

Follow these steps to get the project running on your local machine.

Prerequisites

Python 3.x installed

pip (Python package manager)

Installation Steps

Clone the repository to your local machine.

Create and activate a virtual environment using the venv module.

Install all dependencies using the pip install -r requirements.txt command.

Set up environment variables by copying the .env.example file to create a new .env file, then update the values such as SECRET_KEY, DEBUG, and database settings with your own configuration.

Apply database migrations using the python manage.py migrate command. This creates the necessary database tables.

Create a superuser admin account using the python manage.py createsuperuser command and follow the prompts to set a username, email, and password.

Run the development server using the python manage.py runserver command.

Your application will be available at http://127.0.0.1:8000.

Important Files Explained

requirements.txt: Lists all the Python packages required for the project. Install them all at once using the pip install command.

.env: Stores sensitive information like your SECRET_KEY, API keys, and database credentials. This file should never be committed to version control. The .env.example file provides a template for what variables are needed.

manage.py: A command-line utility that lets you interact with your Django project. You can use it to run the server, create migrations, create superusers, and more.

core: Contains the project's main settings and URL configurations. Any global changes to the project's behavior are made here.

enppi_backend: This is the main application handling the HR logic. It contains the models (database structure), views (what the user sees and interacts with), and admin interface.

templates: Contains all the HTML files for the frontend. These are rendered by Django to create the web pages users interact with.

media: Stores all files uploaded by users, such as profile pictures or documents.

How to Contribute

We welcome contributions. Please follow these steps.

Fork the repository.

Create a new branch for your feature or fix.

Commit your changes with a clear message.

Push to the branch.

Open a pull request.

Contact and Support

For questions or support, please contact the development team at [tmatm2540@gmail.com].


About

AI-powered HR assistant that analyzes resumes, matches candidates to job descriptions, and streamlines the recruitment process.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors