PHPackages                             aditya4348/torin-template - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. aditya4348/torin-template

ActiveCreate-project[Framework](/categories/framework)

aditya4348/torin-template
=========================

The skeleton application for the Laravel framework.

1.0.0(3mo ago)01MITPHPPHP ^8.2

Since Feb 3Pushed 3mo agoCompare

[ Source](https://github.com/Aditya4348/torin-template)[ Packagist](https://packagist.org/packages/aditya4348/torin-template)[ RSS](/packages/aditya4348-torin-template/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (13)Versions (2)Used By (0)

Laravel API Starter Template
============================

[](#laravel-api-starter-template)

Template ini adalah titik awal yang solid untuk membangun backend API menggunakan Laravel. Dilengkapi dengan fitur-fitur esensial yang sering dibutuhkan dalam pengembangan aplikasi modern, memungkinkan Anda untuk fokus pada logika bisnis inti.

✨ Fitur Utama
-------------

[](#-fitur-utama)

- **Otentikasi API**: Menggunakan **Laravel Sanctum** untuk otentikasi berbasis token yang aman dan stateless.
    - Endpoint untuk Register, Login, Logout, Lupa Password, dan Reset Password.
    - Proteksi Rate Limiting pada proses login.
    - Proteksi **Google reCAPTCHA v2** pada endpoint login.
- **Manajemen Pengguna &amp; Peran**: Sistem peran (role) sederhana (`user` dan `admin`) dengan middleware untuk proteksi rute.
- **Integrasi Pembayaran**: Terintegrasi dengan **Midtrans** untuk memproses pembayaran.
    - Pembuatan transaksi dan mendapatkan `snap_token`.
    - Penanganan notifikasi pembayaran melalui *Webhook*.
    - Pengecekan status transaksi secara *real-time* melalui metode *Polling*.
- **Contoh CRUD**: Endpoint CRUD lengkap untuk resource `Product` sebagai contoh implementasi.
- **Struktur Proyek**: Organisasi file yang rapi dan mudah diperluas.

🚀 Memulai Proyek
----------------

[](#-memulai-proyek)

### Prasyarat

[](#prasyarat)

- PHP &gt;= 8.2
- Composer
- Database (MySQL, PostgreSQL, dll.)
- Akun Midtrans (untuk fitur pembayaran)
- Kunci Google reCAPTCHA (untuk proteksi login)

### Langkah Instalasi

[](#langkah-instalasi)

1. **Clone repository ini:**

    ```
    git clone https://github.com/username/repository-anda.git
    cd repository-anda
    ```
2. **Install dependensi PHP:**

    ```
    composer install
    ```
3. **Buat file `.env`:**Salin file `.env.example` menjadi `.env`.

    ```
    cp .env.example .env
    ```
4. **Generate application key:**

    ```
    php artisan key:generate
    ```
5. **Konfigurasi file `.env`:**Buka file `.env` dan sesuaikan variabel berikut:

    - **Database:**```
        DB_CONNECTION=mysql
        DB_HOST=127.0.0.1
        DB_PORT=3306
        DB_DATABASE=nama_database_anda
        DB_USERNAME=user_database_anda
        DB_PASSWORD=password_anda
        ```
    - **Midtrans:**Dapatkan dari dashboard Midtrans Anda. ```
        MIDTRANS_SERVER_KEY=SB-Mid-server-xxxxxxxxxxxxxxxxxxxx
        MIDTRANS_IS_PRODUCTION=false
        ```
    - **Google reCAPTCHA:**Dapatkan dari konsol Google reCAPTCHA. ```
        RECAPTCHA_SITE_KEY=kunci_site_anda
        RECAPTCHA_SECRET_KEY=kunci_rahasia_anda
        ```
6. **Jalankan migrasi database:**Perintah ini akan membuat tabel-tabel yang dibutuhkan seperti `users`, `products`, dll.

    ```
    php artisan migrate
    ```
7. **Jalankan server development:**

    ```
    php artisan serve
    ```

    Aplikasi Anda sekarang berjalan di `http://127.0.0.1:8000`.

📖 Dokumentasi API
-----------------

[](#-dokumentasi-api)

Berikut adalah daftar endpoint API yang tersedia.

### Otentikasi

[](#otentikasi)

- `POST /api/register`
    - Mendaftarkan pengguna baru.
    - **Body**: `name`, `email`, `password`, `password_confirmation`.
- `POST /api/login`
    - Login pengguna dan mendapatkan token.
    - **Body**: `email`, `password`, `g-recaptcha-response`.
- `POST /api/logout`
    - Logout pengguna dan menghapus token saat ini.
    - **Memerlukan**: Header `Authorization: Bearer `.
- `POST /api/forgot-password`
    - Mengirim link reset password ke email pengguna.
    - **Body**: `email`.
- `POST /api/reset-password`
    - Mereset password pengguna dengan token yang valid.
    - **Body**: `token`, `email`, `password`, `password_confirmation`.

### Pengguna

[](#pengguna)

- `GET /api/user`
    - Mendapatkan data pengguna yang sedang login.
    - **Memerlukan**: Header `Authorization: Bearer `.

### Pembayaran (Midtrans)

[](#pembayaran-midtrans)

- `POST /api/payment/create-transaction`
    - Membuat transaksi baru dan mendapatkan `snap_token` dari Midtrans.
    - **Memerlukan**: Header `Authorization: Bearer `.
    - **Body**: `order_id` (unik), `amount`.
- `GET /api/payment/status/{order_id}`
    - Memeriksa status transaksi secara real-time (polling).
    - **Memerlukan**: Header `Authorization: Bearer `.
- `POST /api/payment/notification`
    - Endpoint **Webhook** untuk menerima notifikasi status dari Midtrans. Endpoint ini tidak memerlukan otentikasi dan harus diatur di dashboard Midtrans Anda.

### Produk (Contoh CRUD)

[](#produk-contoh-crud)

- `GET /api/products`
    - Menampilkan daftar produk dengan paginasi.
- `POST /api/products`
    - Membuat produk baru.
    - **Body**: `name`, `description` (opsional), `price`.
- `GET /api/products/{product}`
    - Menampilkan detail satu produk.
- `PUT/PATCH /api/products/{product}`
    - Memperbarui data produk.
- `DELETE /api/products/{product}`
    - Menghapus produk.

> **Catatan**: Endpoint produk di atas belum diproteksi. Untuk membatasi akses (misalnya hanya untuk admin), pindahkan rute-rute tersebut ke dalam grup middleware `role:admin` di `routes/api.php`.

### Rute Admin

[](#rute-admin)

- `GET /api/admin/dashboard`
    - Contoh endpoint yang hanya bisa diakses oleh pengguna dengan peran `admin`.
    - **Memerlukan**: Header `Authorization: Bearer ` dari user admin.

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance82

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

97d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d41b90151633130879ab163b4bf4ab025c89f462e57176c14c9b94cfdcc31cb0?d=identicon)[torin4348](/maintainers/torin4348)

---

Top Contributors

[![adityaalfito4348-max](https://avatars.githubusercontent.com/u/239357465?v=4)](https://github.com/adityaalfito4348-max "adityaalfito4348-max (9 commits)")[![Aditya4348](https://avatars.githubusercontent.com/u/141117390?v=4)](https://github.com/Aditya4348 "Aditya4348 (1 commits)")

---

Tags

frameworklaravel

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/aditya4348-torin-template/health.svg)

```
[![Health](https://phpackages.com/badges/aditya4348-torin-template/health.svg)](https://phpackages.com/packages/aditya4348-torin-template)
```

###  Alternatives

[bagisto/bagisto

Bagisto Laravel E-Commerce

26.2k161.6k7](/packages/bagisto-bagisto)[krayin/laravel-crm

Krayin CRM

22.0k32.8k1](/packages/krayin-laravel-crm)[unopim/unopim

UnoPim Laravel PIM

9.4k1.8k](/packages/unopim-unopim)[juzaweb/cms

Juzaweb CMS is a Content Management System (CMS) developed based on Laravel Framework and web platform whose sole purpose is to make your development workflow simple again. Project develop by Juzaweb

187571.2k](/packages/juzaweb-cms)[codewithdennis/larament

Larament is a time-saving starter kit to quickly launch Laravel 13.x projects. It includes FilamentPHP 5.x pre-installed and configured, along with additional tools and features to streamline your development workflow.

3691.5k](/packages/codewithdennis-larament)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
