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.
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.
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
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
Virtual Environment: venv for isolated Python environment
Version Control: Git
Development Server: Django's built-in server
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
Follow these steps to get the project running on your local machine.
Python 3.x installed
pip (Python package manager)
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.
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.
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.
For questions or support, please contact the development team at [tmatm2540@gmail.com].