FIM App is a digital content platform designed to deliver and monetize books, articles, and videos through a modular, API-driven backend built with Laravel. The platform supports user authentication via Firebase (Google Sign-In and email/password), secure JWT-based sessions, and features robust content management capabilities including nested book chapters, categorized articles, and video content. Users can purchase content, manage their reading history, and interact with a seamless digital experience.
On the admin side, I built a full-featured panel using Vue.js and Tailwind CSS, structured into logical modules for managing content, users, transactions, and promotions. Additional features include a promo system, leaderboards for top users, bank and withdrawal management, and SEO-optimized slugs for better discoverability. The project is backed by a carefully designed relational database schema, ensuring performance and scalability for content delivery and user interaction at scale.
Backend: Laravel, MySQL, Firebase Auth (OAuth & JWT)
Frontend: Vue.js, Tailwind CSS
Authentication: Google Sign-In (Firebase), Email/Password
Cloud & Security: JWT token validation via Google
Architecture: Modular API-driven backend, with separate admin and client interfaces
🔐 Authentication & Profile
Integrated Firebase Google Sign-In and email-based login.
JWT verification using Firebase.
Built user signup, login, profile update, logout APIs.
Extended user profiles with bank info, social following, and custom data.
📚 Content Management
Books contain nested Chapters, with purchase and read history logic.
Articles and Videos have public indexes and detailed view endpoints.
Categories are structured for SEO using slugs.
Applied data transformers (e.g., BookTransformer, UserTransformer) for clean JSON responses.
💳 Transactions & Payments
Full Top-up, Subscribe, and Chapter Purchase logic handled via backend APIs.
Payment confirmation supported for manual methods like bank transfer and e-wallet.
Transaction histories available per user with detailed drill-down endpoints.
🏦 Banking & Withdrawal
Users can store, update, and delete their bank accounts.
Withdrawal requests processed via API, with user-specific histories.
🧩 Admin Panels
Panel: Built core pages and logic with Vue.js and Tailwind CSS.
Admin: Structured into logical modules (books, videos, users, settings, etc.), each having:
Index.vue for list view
Form.vue for add/edit
Connected Laravel API for data handling
📈 Additional Modules
Promo system and promo-related admin control.
Leaderboards for top readers and writers.
Master data management (e.g., Provinces, Cities, Districts).
SEO support using slugs in all major content.
💾 Database Design
Personally designed and implemented the relational database schema supporting all business logic.
Client Side Page - Preview
Admin Panel Web App - Preview
Contributed to this project as part of my role at Kreasi Putra Hotama.
Dec 2022 - Feb 2023