The AnyaPeanuts Portal is a scalable, highly secure web application designed to streamline internal corporate operations. Built on top of the Django framework, it provides strict access control workflows, hierarchical leave management pipelines, and company-wide communication hubs designed for modern enterprise environments.
- Strict Role-Based Access Control (RBAC): Robust multi-tier authentication supporting
Employee,Manager,HR, andAdminroles to restrict and grant access natively. - Hierarchical Leave Management:
- Dynamic approval pipelines (e.g., Manager approves Employee, HR approves Manager).
- Accurate tracking of leave balances, durations, and historical reviewer comments.
- Global Announcements: Centralized broadcast system enabling authorized personnel (HR/Admin) to push critical updates asynchronously to the organization.
- Company Directory: Fast, accessible employee directory mapping users to their respective roles and departments.
- Modern UI/UX Architecture: Custom-designed, responsive interfaces utilizing a premium dark navy and tan color palette for a professional enterprise feel.
- Core Framework: Django 6.0, Django REST Framework
- Data Persistence: SQLite (Development) / PostgreSQL-ready (
psycopg2-binaryincluded for Production) - Frontend Layer: Django Templates, HTML5, Vanilla CSS
Follow these instructions to set up the project locally for development, testing, and deployment.
Ensure you have the following installed on your local machine:
-
Clone the repository:
git clone https://github.com/sonaladhonde3-debug/AnyaPeanuts.git cd AnyaPeanuts -
Establish a virtual environment:
python -m venv venv # Windows venv\Scripts\activate # macOS/Linux source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Apply database migrations:
cd company_portal python manage.py migrate -
Start the local development server:
python manage.py runserver
-
Access the application: Open your browser and navigate to
http://127.0.0.1:8000/.
To run the automated test suite and ensure subsystem integrity:
cd company_portal
python manage.py testWe encourage open collaboration! To contribute:
- Fork the Project.
- Create your Feature Branch (
git checkout -b feature/AmazingFeature). - Commit your Changes (
git commit -m 'feat: Add some AmazingFeature'). - Push to the Branch (
git push origin feature/AmazingFeature). - Open a Pull Request for review.
Distributed under the MIT License. See LICENSE for more information.