Skip to content

A comprehensive internship management system designed for government agencies to streamline the internship process for students, mentors, teachers, and administrative officials.

License

Notifications You must be signed in to change notification settings

codeforpakistan/tarbiyat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

42 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Tarbiyat - Government Internship Management Platform

A comprehensive Django-based internship management system designed for government agencies to streamline the internship process for students, mentors, teachers, and administrative officials.

Python Django License

🌟 Features

Multi-Role Support

  • Students: Browse positions, submit applications, track progress
  • Mentors: Manage internship positions, review applications, monitor progress
  • Teachers: Oversee student internships, academic supervision
  • Officials: Administrative oversight and reporting

Core Functionality

  • 🎯 Position Management: Create, edit, and manage internship positions
  • πŸ“ Application System: Streamlined application process with cover letters
  • πŸ“Š Progress Tracking: Comprehensive progress reports and monitoring
  • πŸ”” Notifications: Real-time updates for all stakeholders
  • πŸ‘₯ Profile Management: Detailed profiles for all user types
  • πŸ›οΈ Government Focus: Tailored for government internship programs

Modern Technology Stack

  • Backend: Django 5.2.4 with PostgreSQL/SQLite support
  • Frontend: Tailwind CSS for modern, responsive design
  • Icons: Unicode characters for dependency-free icons
  • Security: Built-in Django security features with custom middleware
  • Authentication: Django Allauth integration

πŸš€ Quick Start

Prerequisites

  • Python 3.8 or higher
  • pip (Python package installer)
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/codeforpakistan/tarbiyat.git
    cd tarbiyat
  2. Create virtual environment

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

    pip install -r requirements.txt
  4. Environment setup

    cp .env.example .env
    # Edit .env file with your configuration
  5. Database setup

    python manage.py makemigrations
    python manage.py migrate
  6. Create sample data (optional)

    python manage.py setup_groups
    python manage.py seed
  7. Create superuser

    python manage.py createsuperuser
  8. Run the development server

    python manage.py runserver

Visit http://127.0.0.1:8000 to access the application.

πŸ“ Project Structure

tarbiyat/
β”œβ”€β”€ app/                          # Main application
β”‚   β”œβ”€β”€ management/commands/      # Custom Django commands
β”‚   β”œβ”€β”€ migrations/               # Database migrations
β”‚   β”œβ”€β”€ templates/               # HTML templates
β”‚   β”œβ”€β”€ templatetags/            # Custom template tags
β”‚   β”œβ”€β”€ models.py               # Database models
β”‚   β”œβ”€β”€ views.py                # View logic
β”‚   β”œβ”€β”€ urls.py                 # URL routing
β”‚   └── forms.py                # Django forms
β”œβ”€β”€ project/                     # Project settings
β”‚   β”œβ”€β”€ settings.py             # Django settings
β”‚   β”œβ”€β”€ urls.py                 # Main URL configuration
β”‚   └── wsgi.py                 # WSGI configuration
β”œβ”€β”€ requirements.txt            # Python dependencies
β”œβ”€β”€ manage.py                   # Django management script
└── README.md                   # This file

🎨 Design Philosophy

Modern & Accessible

  • Tailwind CSS: Utility-first CSS framework for rapid development
  • Responsive Design: Mobile-first approach for all devices
  • Unicode Icons: Dependency-free icons using Unicode characters
  • Clean UI: Modern, government-appropriate interface design

Government-Ready

  • Security First: Built with Django's security best practices
  • Scalable Architecture: Designed to handle multiple institutions
  • Comprehensive Tracking: Full audit trail for all activities
  • Multi-level Access: Role-based permissions and workflows

πŸ”§ Configuration

Environment Variables

Create a .env file based on .env.example:

SECRET_KEY=your-secret-key-here
DEBUG=True
DATABASE_URL=sqlite:///db.sqlite3
ALLOWED_HOSTS=localhost,127.0.0.1

Database Configuration

The project supports both SQLite (development) and PostgreSQL (production).

For PostgreSQL:

DATABASE_URL=postgresql://username:password@localhost:5432/tarbiyat

πŸ‘₯ User Roles

Student

  • Browse available internship positions
  • Submit applications with cover letters
  • Track application status
  • Submit progress reports
  • Manage personal profile

Mentor

  • Create and manage internship positions
  • Review and process applications
  • Monitor intern progress
  • Provide feedback and evaluations

Teacher

  • Academic supervision of students
  • Monitor student progress
  • Coordinate with mentors
  • Administrative oversight

Official

  • System administration
  • Generate reports and analytics
  • Manage users and permissions
  • Oversee all internship programs

πŸ› οΈ Development

Management Commands

# Check environment configuration
python manage.py check_env

# Set up user groups and permissions
python manage.py setup_groups

# Generate sample data for testing
python manage.py seed

Testing

python manage.py test

Code Style

This project follows Django best practices and PEP 8 guidelines.

πŸš€ Deployment

Production Setup

  1. Set environment variables

    export DEBUG=False
    export SECRET_KEY=your-production-secret-key
    export DATABASE_URL=your-production-database-url
  2. Collect static files

    python manage.py collectstatic
  3. Run migrations

    python manage.py migrate

Docker Support (Coming Soon)

Docker configuration for easy deployment will be added in future releases.

πŸ“– Documentation

🀝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

πŸ“„ License

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

πŸ›οΈ About Code for Pakistan

This project is developed by Code for Pakistan, a non-profit organization working to improve government services through technology.

πŸ†˜ Support

If you encounter any issues or have questions:

  1. Check the Issues page
  2. Create a new issue if your problem isn't already reported
  3. Contact us at support@codeforpakistan.org

πŸ™ Acknowledgments

  • Django team for the excellent web framework
  • Tailwind CSS for the utility-first CSS framework
  • All contributors who help improve this project

Made with ❀️ by Code for Pakistan

About

A comprehensive internship management system designed for government agencies to streamline the internship process for students, mentors, teachers, and administrative officials.

Resources

License

Contributing

Stars

Watchers

Forks

Languages