Skip to content

This is the first stable release of the On the Job Training Management System. The system is built using Python Django, PostgreSQL, and other modern web technologies. This release includes key features such as time logging, document management, and progress tracking for OJT students.

Notifications You must be signed in to change notification settings

chrstncleofas/OJT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

On the Job Training Management System

This project is an On the Job Training Management System developed using Python Django, PostgreSQL, and other modern web technologies. It is designed to manage OJT records, including time logs, progress tracking, and document management.

The project is deployed on an AWS EC2 instance, with AWS S3 for media storage, Nginx, and Gunicorn as the application server. This guide will help you set up the project locally for development.


Features

  • User Management: Separate roles for admin, students, and company coordinators.
  • Time Logging: Clock in/out system with support for lunch breaks.
  • Document Management: Upload and manage documents via AWS S3.
  • Progress Tracking: Real-time progress monitoring.
  • Mobile Responsiveness: Designed with Bootstrap for a fully responsive UI.

Technologies Used

  • Backend: Python (Django Framework)
  • Database: PostgreSQL
  • Frontend: HTML, CSS, JavaScript, Bootstrap
  • Hosting: AWS EC2 Instance
  • File Storage: AWS S3 Bucket
  • Domain: GoDaddy
  • DNS Management: AWS Route 53
  • Server Management: Nginx, Gunicorn

Local Setup Instructions

Follow these steps to set up the project on your local machine:

1. Clone the Repository

git clone https://github.com/chrstncleofas/OJT.git
cd OJT

2. Create and Activate a Virtual Environment

For Windows

python -m venv env
env\Scripts\activate

For Mac/Linux

python3 -m venv env
source env/bin/activate

3. Install Required Dependencies

pip install -r requirements.txt

4. Set Up PostgreSQL Database

  1. Install PostgreSQL on your local machine if not already installed.
  2. Create a database for the project:
CREATE DATABASE ojt_management;
CREATE USER ojt_user WITH PASSWORD 'yourpassword';
ALTER ROLE ojt_user SET client_encoding TO 'utf8';
ALTER ROLE ojt_user SET default_transaction_isolation TO 'read committed';
ALTER ROLE ojt_user SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE ojt_management TO ojt_user;
  1. Update your database credentials in settings.py:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'ojt_management',
        'USER': 'ojt_user',
        'PASSWORD': 'yourpassword',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

5. Apply Migrations

python manage.py makemigrations
python manage.py migrate

6. Set Up AWS S3 Bucket

AWS_STORAGE_BUCKET_NAME = 'your-bucket-name'
AWS_ACCESS_KEY_ID = 'your-access-key'
AWS_SECRET_ACCESS_KEY = 'your-secret-key'
AWS_S3_REGION_NAME = 'your-region'
AWS_DEFAULT_ACL = None
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

7. Create a Superuser

python manage.py createsuperuser

8. Run the Development Server

python manage.py runserver

Deployment

The project is deployed using the following technologies:

  • AWS EC2: Hosting the application.
  • AWS S3: Storing media files.
  • Nginx: Acting as a reverse proxy.
  • Gunicorn: WSGI application server.
  • AWS Route 53: DNS management.
  • To replicate this deployment:

Follow Django Deployment Docs.

  • Configure Nginx and Gunicorn as per your environment.

License

  • This project is licensed under the MIT License. See the LICENSE file for details.

Contact

About

This is the first stable release of the On the Job Training Management System. The system is built using Python Django, PostgreSQL, and other modern web technologies. This release includes key features such as time logging, document management, and progress tracking for OJT students.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages