{"id":49540494,"url":"https://github.com/ztacole/gochickfarm-be","last_synced_at":"2026-05-02T15:05:35.730Z","repository":{"id":320327959,"uuid":"1077974897","full_name":"ztacole/gochickfarm-be","owner":"ztacole","description":null,"archived":false,"fork":false,"pushed_at":"2025-12-01T13:08:39.000Z","size":105,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-02T20:54:29.434Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ztacole.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-17T02:52:23.000Z","updated_at":"2025-12-01T13:08:43.000Z","dependencies_parsed_at":"2025-12-06T07:07:42.304Z","dependency_job_id":null,"html_url":"https://github.com/ztacole/gochickfarm-be","commit_stats":null,"previous_names":["ztacole/gochickfarm-be"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ztacole/gochickfarm-be","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ztacole%2Fgochickfarm-be","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ztacole%2Fgochickfarm-be/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ztacole%2Fgochickfarm-be/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ztacole%2Fgochickfarm-be/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ztacole","download_url":"https://codeload.github.com/ztacole/gochickfarm-be/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ztacole%2Fgochickfarm-be/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32538282,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T12:25:33.646Z","status":"ssl_error","status_checked_at":"2026-05-02T12:24:51.733Z","response_time":132,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-02T15:05:32.196Z","updated_at":"2026-05-02T15:05:35.713Z","avatar_url":"https://github.com/ztacole.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GoChick Farm (Backend)\n\nBackend API untuk aplikasi manajemen peternakan \"GoChick Farm\" — dibangun dengan Node.js, TypeScript, Express dan Drizzle ORM (MySQL).\n\n## Ringkasan\n\nRepository ini berisi backend untuk mengelola data pengguna, hewan, pakan, log pemberian pakan, transaksi, dan pencatatan kawin (breeding) pada sebuah peternakan.\n\nTech stack utama:\n- Node.js + TypeScript\n- Express\n- Drizzle ORM (MySQL)\n- mysql2\n- dotenv\n\n## Persyaratan\n\n- Node.js (LTS) dan npm\n- MySQL server\n- TypeScript (terpasang via devDependencies)\n\n## Setup cepat\n\n1. Clone repository dan masuk ke folder:\n\n   ```powershell\n   cd \"your-directory\\gochickfarm-be\"\n   npm install\n   ```\n\n2. Salin file contoh .env dan sesuaikan koneksi database:\n\n   ```powershell\n   copy .env.example .env\n   # lalu edit .env sesuai environment Anda (DATABASE_URL, PORT, JWT_SECRET)\n   ```\n\n   Contoh .env (project sudah menyertakan file `.env` untuk dev):\n\n   ```env\n   DATABASE_URL=\"mysql://root:@localhost:3306/gochickfarm\"\n   PORT=3000\n   JWT_SECRET=\"secret banget\"\n   ```\n\n3. Jalankan migrasi/schema/seed\n\n- Generate atau push schema Drizzle jika diperlukan:\n\n  ```powershell\n  npm run drizzle:gen   # generate (opsional)\n  npm run drizzle:push  # push ke database\n  ```\n\n- Isi data awal (seed):\n\n  ```powershell\n  npm run seed\n  ```\n\n## Skrip npm penting\n\n- `npm run dev` — jalankan server dalam mode pengembangan (nodemon pada `src/server.ts`).\n- `npm run build` — compile TypeScript ke `dist/`.\n- `npm run start` — jalankan build (`node dist/src/server.js`).\n- `npm run seed` — jalankan seed script (`src/config/seed.ts`).\n- `npm run drizzle:gen` — generate migration/schema (drizzle-kit).\n- `npm run drizzle:push` — push schema ke DB (drizzle-kit).\n\n## Struktur singkat proyek\n\n- `drizzle/schema.ts` — definisi tabel Drizzle (roles, users, animals, feeds, feeding_logs, transactions, transaction_details, breeding_logs).\n- `src/` — kode sumber TypeScript\n  - `src/server.ts`, `src/app.ts` — entry point server\n  - `src/modules/` — modul fitur (auth, user, animal, dashboard, dsb.)\n  - `src/middleware/` — middleware express (auth, error handling)\n  - `src/config/db.ts` — koneksi database\n\nModul utama yang ada saat ini:\n- `auth` — autentikasi (login/register, JWT)\n- `user` — manajemen pengguna\n- `animal` — manajemen hewan\n- `dashboard` — endpoint ringkasan/statistik\n\n## Menjalankan secara lokal\n\nDevelopment:\n\n```powershell\nnpm run dev\n```\n\nBuild + start (production-ish):\n\n```powershell\nnpm run build; npm run start\n```\n\n## Environment \u0026 Keamanan\n\n- Simpan `JWT_SECRET` dan kredensial DB di `.env`. Jangan commit `.env` ke repo publik.\n- Saat production, gunakan user DB dengan password kuat dan non-root, serta atur akses jaringan database.\n\n## Testing \u0026 Quality gates\n\nProyek ini tidak menyertakan test otomatis saat ini. Pastikan TypeScript build lulus setelah dependency terpasang:\n\n```powershell\nnpm run build\n```\n\nJika ada error build/TS, periksa pesan tsc dan dependencies.\n\n## Contributing\n\n- Buat issue terlebih dahulu untuk fitur besar.\n- Fork, buat branch fitur, buka pull request dengan deskripsi perubahan.\n\n## Lisensi\n\nTambahkan file LICENSE jika ingin menetapkan lisensi. Saat ini tidak disertakan lisensi dalam repo.\n\n---\n\nJika ingin saya tambahkan bagian API docs (daftar endpoint), contoh request/response, atau instruksi deploy ke server, beri tahu — saya bisa tambahkan secara terperinci.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fztacole%2Fgochickfarm-be","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fztacole%2Fgochickfarm-be","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fztacole%2Fgochickfarm-be/lists"}