Skip to content

About

This project is a Django-based internal company portal that features a strict role-based authentication system (Employee, Manager, HR, Admin). Its primary functionalities include a hierarchical leave management system—where approvals follow a chain of command based on user roles—along with company-wide announcements and an employee directory.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

🏢 AnyaPeanuts Portal

A production-grade, role-based internal company portal built with Django.

Python Version Django Version License Code style: black


📖 Overview

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.

✨ Core Features

  • Strict Role-Based Access Control (RBAC): Robust multi-tier authentication supporting Employee, Manager, HR, and Admin roles 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.

🏗️ Technical Architecture

  • Core Framework: Django 6.0, Django REST Framework
  • Data Persistence: SQLite (Development) / PostgreSQL-ready (psycopg2-binary included for Production)
  • Frontend Layer: Django Templates, HTML5, Vanilla CSS

🚀 Getting Started

Follow these instructions to set up the project locally for development, testing, and deployment.

Prerequisites

Ensure you have the following installed on your local machine:

Installation Steps

  1. Clone the repository:

    git clone https://github.com/sonaladhonde3-debug/AnyaPeanuts.git
    cd AnyaPeanuts
  2. Establish a virtual environment:

    python -m venv venv
    
    # Windows
    venv\Scripts\activate
    
    # macOS/Linux
    source venv/bin/activate
  3. Install dependencies:

    pip install -r requirements.txt
  4. Apply database migrations:

    cd company_portal
    python manage.py migrate
  5. Start the local development server:

    python manage.py runserver
  6. Access the application: Open your browser and navigate to http://127.0.0.1:8000/.

🧪 Testing

To run the automated test suite and ensure subsystem integrity:

cd company_portal
python manage.py test

🤝 Contributing

We encourage open collaboration! To contribute:

  1. Fork the Project.
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature).
  3. Commit your Changes (git commit -m 'feat: Add some AmazingFeature').
  4. Push to the Branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request for review.

📄 License

Distributed under the MIT License. See LICENSE for more information.

About

This project is a Django-based internal company portal that features a strict role-based authentication system (Employee, Manager, HR, Admin). Its primary functionalities include a hierarchical leave management system—where approvals follow a chain of command based on user roles—along with company-wide announcements and an employee directory.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages