SahrulRamadhani29/portfolio

Volta-PLN

Private source

Warehouse material management: stock, vendors, incoming and outgoing materials, and operational transaction documents.

Owner & teamLinux/HTTPS deployment, PostgreSQL backup and restore, authentication, and QR-based returns
Private source code
Volta-PLN poster introducing warehouse management with one original mobile screenshot of the sign-in screen.

Organised materials. Connected operations. Material management, stock movements, and operational documents: DPB, K3, and K7. Application sign-in preview · one screenshot available

Application preview Sign-in screenEnlarge

My contribution highlights

Read all 8 contribution modules
Contents · 8 contribution modules

Main workflow

6 steps

Warehouse staff connect master material data to transactions, stock changes, and operational documents. Returns have a separate development path.

  1. 01Select materials and transactions

    1. Manage master data

      Warehouse staff
    2. Choose transaction direction

      Warehouse staff
  2. 02Record warehouse movements

    1. Save transactions and stock

      App & PostgreSQL
    2. QR-based returns

      Staff · returns path
  3. 03Prepare documents and reports

    1. Open operational documents

      Warehouse staff
    2. Export and maintain

      Staff & system operator
Process details & branches
  1. Manage master dataWarehouse staff

    Material and vendor records provide the reference for item selection in operational warehouse forms.

  2. Choose transaction directionWarehouse staff

    Choose materials and quantities for the movement being recorded.

    Incoming or outgoing materials?

    • Incoming. Record material receipts and their related transaction information.
    • Outgoing. Record material issues for operational needs.
  3. Save transactions and stockApp & PostgreSQL

    Incoming/outgoing records are connected to stock data so material movements can be traced through transactions.

  4. QR-based returnsStaff · returns path

    For returns, QR scan results and material search help populate the return form. This path is part of returns development.

  5. Open operational documentsWarehouse staff

    Recorded data is used to manage and print DPB, K3, and K7 documents in the relevant modules.

  6. Export and maintainStaff & system operator

    Operational data can be exported to spreadsheets. Operators have backup/restore procedures for database maintenance.

QR returns are an optional path on the returns development branch. Incoming/outgoing transactions remain the basis of stock records and warehouse documents.

CASE_STUDY.mdProduct & my contributions

About Volta-PLN

Volta-PLN is a warehouse operations application for managing materials, vendors, incoming/outgoing stock, DPB/K3/K7 documents, and spreadsheet exports. Transaction data supports tracing material movements and preparing the documents needed for warehouse work.

Within the team, I focused on PHP application deployment, PostgreSQL management, authentication, Linux environment troubleshooting, and QR-based material returns.

My contributions

PHP application deployment on Linux

I prepared the deployment structure with Nginx and PHP-FPM, application file placement, and supporting configuration. I also worked on Docker/Compose artefacts for running the application. This work connects PHP code, environment configuration, and database services with application access requirements.

Domains, HTTPS, and internal file restrictions

I worked on domain and HTTPS configuration and improved web server restrictions on internal files. Operator documentation and configuration are placed under appropriate access rules so they are not exposed through the application’s public paths.

PostgreSQL backups and scheduling

I built database backup scripts, archive checks, and checksums to inspect backup outputs. Locks prevent overlapping jobs. I also prepared service/timer configuration so backups can run on a schedule in the configured server environment.

Database restore, validation, and rollback

I developed restore procedures with input archive checks and recovery-stage validation. I added a rollback path to retain the previous database when a restore or its validation fails. The procedure connects recovery steps to the conditions operators need to check.

Username-based login and data migration

I changed authentication to username-based login and prepared supporting migrations. I aligned forms, login checks, and account data so the new sign-in method works with the application’s existing user structure.

DPB endpoint and document fixes

I fixed DPB endpoints and document printing paths. This included consistent filename and path casing, since Linux filesystems treat case differently. These fixes addressed connections between the interface and application endpoints.

Material returns and QR scanning

On the returns development branch, I worked on QR workflow validation, public scan result pages, and material return forms. I added search to material selectors so staff can find the correct item when recording a return. This path connects the scanned material identity with the return process.

Redeployment and operations documentation

I documented application redeployment, backup, and restore steps. The documentation connects server configuration, application files, and the database into a clear maintenance sequence that can be handed over to the next operator.

Fields & core technologies

Project fields

DevOps & ReliabilityBackend & APIFull-stack WebData & Databases

Core technologies

PHPPostgreSQLNginxLinuxBashPhpSpreadsheet

18 commits in the last 12 months

All branches
NovDecJanFebMarAprMayJunJulAugSeptOctNov
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Hover over a square or focus it to see the date.
LessMore
Current streak0 days
Longest streak in this period2 days
Active days in this period4 days
Verified data · updates scheduled hourly.
How it is counted · 1 repo · 2 branch

My authored commits reachable from all remote branches at sync time. Each SHA is counted once, even across branches or forks. Merge commits are excluded. Dates use the author timestamp in Western Indonesia Time (UTC+7), rather than push time. The current streak remains active when the last commit was yesterday and today is still in progress.

This calendar covers commits across all branches. Its totals may differ from GitHub’s contribution calendar, which includes other activity types and follows its own branch rules. This calendar covers only the project you are viewing.

Contribution history

18 of my non-merge commits · All branches · Data as of 3 November 2026.

Back to all projects