{"id":29,"date":"2026-04-25T06:53:54","date_gmt":"2026-04-25T06:53:54","guid":{"rendered":"https:\/\/sjake.dev\/?page_id=29"},"modified":"2026-04-25T06:57:20","modified_gmt":"2026-04-25T06:57:20","slug":"project-baketrack","status":"publish","type":"page","link":"https:\/\/sjake.dev\/?page_id=29","title":{"rendered":"Projects"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/baketrack.shop\" data-type=\"link\" data-id=\"https:\/\/baketrack.shop\">Baketrack<\/a><\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<p>BakeTrack is a compact, production-ready bakery management system that combines POS, inventory, recipe costing, multi-branch user management, and CSV reporting in a single CodeIgniter 4 app. Built with a responsive Bootstrap frontend and modular PHP controllers, it streamlines cashier workflows, automates stock tracking, and computes recipe costs in real time via AJAX endpoints.<\/p>\n\n\n\n<p>Role &amp; contributions<\/p>\n\n\n\n<p>&#8211; Designed the relational schema, created migrations and seeders.<\/p>\n\n\n\n<p>&#8211; Implemented core controllers (POS, Products, Recipes, Orders, Reports) and reusable layouts.<\/p>\n\n\n\n<p>&#8211; Developed client-side UX (debounced search, dynamic alerts, printable receipts) and CSV export for quick demos.<\/p>\n\n\n\n<p>Tech<\/p>\n\n\n\n<p>&#8211; PHP (CodeIgniter 4), MySQL-compatible DB, Bootstrap 5, vanilla JS.<\/p>\n\n\n\n<p>Impact<\/p>\n\n\n\n<p>&#8211; Enables faster checkout, reduces stockouts with reorder alerts, and provides immediate recipe cost visibility for margin control.<\/p>\n\n\n\n<p>Run locally: configure .env, run migrations &amp; seeders, then php spark serve. Repo: c:\\Users\\acer\\Codes\\baketrack<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Baketrack BakeTrack is a compact, production-ready bakery management system that combines POS, inventory, recipe costing, multi-branch user management, and CSV [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-29","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/sjake.dev\/index.php?rest_route=\/wp\/v2\/pages\/29","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sjake.dev\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sjake.dev\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sjake.dev\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sjake.dev\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=29"}],"version-history":[{"count":3,"href":"https:\/\/sjake.dev\/index.php?rest_route=\/wp\/v2\/pages\/29\/revisions"}],"predecessor-version":[{"id":33,"href":"https:\/\/sjake.dev\/index.php?rest_route=\/wp\/v2\/pages\/29\/revisions\/33"}],"wp:attachment":[{"href":"https:\/\/sjake.dev\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=29"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}