Skip to content
/ frontend-template Public template

Starter Project Frontend Template Typescript and Javascript.

Notifications You must be signed in to change notification settings

nuflakbrr/frontend-template

Repository files navigation

Nextjs Typescript Template (Include Tailwindcss, Customize ESLint Rules)

Ini adalah proyek Next.js di-bootstrap dengan create-next-app.

Teknologi Yang Digunakan

Fitur

Fitur yang terdapat pada templat proyek ini adalah:

  • Proyek Arsitektur.
  • Authentikasi.
  • Kustomisasi React Hooks.
  • Beberapa fungsi kustom yang sering Saya pakai.

Proyek Arsitektur

Terdapat beberapa poin penting terkait bagaimana menjalankan proyek arsitektur yang benar. Untuk studi kasus kali ini, Saya telah membuatkan sebuah templat proyek kosong yang sudah Saya kustomisasi yang sekiranya sudah mengimplementasi bagaimana cara mengatur proyek arsitektur yang baik agar terlihat rapi.

/
├── public/
├── src/
│   └── app/
│   │   └── about/
│   │   └── api/
│   │   └── auth/
│   │   └── contact/
│   │   └── favicon.ico
│   │   └── globals.css
│   │   └── layout.tsx
│   │   └── loading.tsx
│   │   └── not-found.tsx
│   │   └── page.tsx
│   └── components/
│   │   └── Common/
│   │   └── Containers/
│   │   └── Mixins/
│   │   └── README.md
│   └── context/
│   └── data/
│   └── hooks/
│   └── interfaces/
│   └── layouts/
│   └── lib/
│   └── providers/
└── .env.example
└── .eslintrc.json
└── .gitignore
└── next-env.d.ts
└── next.config.mjs
└── package.json
└── postcss.config.js
└── README.md
└── tailwind.config.ts
└── tsconfig.json

Folder Common

Folder Common terletak pada /src/components/. Lalu didalamnya berisikan apa saja? Folder Common Berisikan komponen-komponen kecil, seperti: tombol, dropdown, dll.

Folder Mixins

Folder Mixins terletak pada /src/components/. Lalu didalamnya berisikan apa saja? Folder Mixins Berisikan komponen-komponen yang merupakan gabungan dari komponen-komponen kecil dari folder Common. Seperti: navbar (yang berisi beberapa hal umum seperti tombol, dropdown, dll).

Folder Containers

Folder Containers terletak pada /src/components/. Lalu didalamnya berisikan apa saja? Folder Containers Berisikan kombinasi folder Common dan halaman itu sendiri yang membentuk 1 halaman. 1 halaman 1 folder Containers agar tetap rapi.

Jika pada 1 container memiliki beberapa section, maka Anda harus memisahkan dan menaruhnya di dalam folder components namun masih tetap dalam 1 folder Containers. Seperti: /src/components/Containers/Home/components.

Authentikasi

Pada templat proyek ini sudah menggunakan authentikasi menggunakan React Context. Jika user sudah melakukan authentikasi maka user tidak bisa mengakses halaman login atau register kembali.

Kustomisasi React Hooks

Anda dapat menggunakan, serta menambahkan kustom React Hooks Anda sendiri pada folder /src/hooks yang telah disediakan. terdapat sebuah contoh kustomisasi React Hooks untuk Data Fetching menggunakan Axios.

Mulai Sekarang

Template ini tersedia di BikinProject! Cara bagaimana untuk menggunakan template ini, ikuti langkah-langkah sederhana berikut:

  1. Instal BikinProject: Mulailah dengan menginstal BikinProject di komputer Anda.
  npx bikinproject@latest
  1. Beritahu BikinProject Tempat Membuat Proyek: Masukkan direktori tempat Anda ingin membuat proyek.
  ┌   create-bikinproject-app
  │
  ◇  Where should we create your project?
  └  ./your-project # Masukkan nama proyek Anda, seperti my-project atau .
  1. Pilih Proyek Starter: Pilih proyek permulaan yang sesuai dengan kebutuhan Anda.
  ┌   create-bikinproject-app
  │
  ◇  Where should we create your project?
  │  ./your-project
  │
  ◇  Pick a project type within "./your-project"
  │  ● Next.js App Router (Tailwind + TypeScript)
  │  ○ Next.js App Router (Tailwind + JavaScript)
  │  ○ dll.
  └  # Pilih jenis proyek dengan menggunakan tombol panah
  1. Pilih sertakan instal dependensi: Pilih untuk menginstal dependensi atau tidak.
  ┌   create-bikinproject-app
  │
  ◇  Where should we create your project?
  │  ./your-project
  │
  ◇  Pick a project type within "./your-project"
  │  Next.js App Router (Tailwind + TypeScript)
  │
  ◇  Install dependencies? (currently only NPM is supported)
  │  ● Yes / ○ No
  └  # Pilih Ya atau Tidak menggunakan tombol panah
  1. Tunggu BikinProject Membuat Proyek: Tunggu BikinProject membuat proyek untuk Anda.

Note

Jika Anda memilih untuk memasang dependensi, BikinProject akan memasang dependensi yang diperlukan untuk Anda. Harap tunggu hingga penginstalan selesai.

  ┌   create-bikinproject-app
  │
  ◇  Where should we create your project?
  │  ./your-project
  │
  ◇  Pick a project type within "./your-project"
  │  Next.js App Router (Tailwind + TypeScript)
  │
  ◇  Install dependencies? (currently only NPM is supported)
  │  No
  │
  ◇  ⏳ Creating project...
  │
  ◇  🎉 Project Created!
  │
  ◇  Next steps. ───────────────╮
  │                             │
  │  cd ./your-project          │
  │  npm install                │
  │  npm run dev                │
  │                             │
  ├─────────────────────────────╯
  │
  └  Have a Problems? Report to https://github.com/nuflakbrr/bikinproject/issues
  1. Mulai Membangun Proyek Anda: Setelah BikinProject menghasilkan starter project, selanjutnya membangun proyek Anda.

  2. Salin Environment Variable: Salin environment variable dengan perintah berikut

cp .env.example .env
  1. Buka Server Pengembangan: Buka http://localhost:3000 pada browser Anda dan lihat hasilnya.

Anda dapat mulai mengedit halaman dengan memodifikasi /src/components/Containers/Home/Home.jsx. Halaman diperbarui secara otomatis saat Anda mengedit file.

Rute API

Rute API dapat diakses di http://localhost:3000/api/hello. Titik akhir ini dapat diedit di /src/app/api/hello.ts.

Folder /src/app/api dipetakan ke /api/*. File dalam direktori ini diperlakukan sebagai Rute API bukannya Bereaksi halaman.

Pelajari Lebih

Untuk mempelajari lebih lanjut tentang Next.js, lihat referensi berikut:

Anda dapat memeriksa GitHub Repositori Next.js - umpan balik dan kontribusi Anda dipersilakan!

Publikasi di Vercel

Jalur paling mudah untuk publikasi aplikasi Next.js Anda menggunakan Vercel dari pencipta Next.js.

Lihat dokumentasi publikasi Next.js kami untuk lebih lengkap.

Author Templat Ini

Nama kontributor dan info kontak,

Naufal Akbar Nugroho
@nuflakbrr @kbrnugroho