Skip to content

About

Full-stack enterprise mobile app and REST API backend designed for Store Management

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

35 Commits

Folders and files

Repository files navigation

📊 MarketPulse

MarketPulse is a modern, full-stack enterprise mobile application and REST API backend designed for sales tracking, client management, product inventory, order processing, and task management with complete offline-first capability.


🏗️ System Architecture

MarketPulse is built using clean architecture principles across both backend and frontend:

MarketPulse/
├── backend/          # RESTful Dart Frog API Server
│   ├── bin/          # Server entrypoint & DB seed scripts
│   ├── lib/          # Database, JWT auth, models, services
│   ├── routes/       # API endpoints (Auth, Clients, Products, Orders, Tasks, Dashboard)
│   └── test/         # Comprehensive backend unit & route tests (80/80 passing)
│
├── mobile_app/       # Flutter Cross-Platform Client
│   ├── lib/
│   │   ├── core/     # Router, DB (SQLite), Sync Engine, DI (GetIt)
│   │   └── features/ # Auth, Clients, Products, Orders, Tasks, Dashboard
│   └── pubspec.yaml
│
└── docker-compose.yaml # Local Infrastructure (PostgreSQL 16 & Redis 7)

✨ Key Features & Highlights

  • 🔒 Secure JWT Authentication: Access and refresh token pair rotation with Redis token blacklisting.
  • 📱 Unified Clean Architecture Mobile UI: Responsive Flutter mobile interface with real-time UI updates across detail and list screens.
  • 📴 Complete Offline-First Support:
    • Offline Authentication: Login, register, and session persistence when offline using encrypted storage.
    • State Restoration: HydratedBloc restores application states instantly on startup without loading spinners.
    • Relational Storage: SQLite (sqflite) caches structured data locally on device disk.
    • Auto Sync Engine: SyncService queues offline mutations and automatically syncs changes to PostgreSQL when network connectivity is restored.
  • 📈 Real-Time Dashboard: Key performance indicators, total revenue, client metrics, low-stock warnings, and order summaries.

🚀 Getting Started

Prerequisites


1. Start Infrastructure (PostgreSQL & Redis)

Run Docker Compose from the project root to spin up database and cache services:

docker-compose up -d

2. Backend Setup & Database Seeding

Navigate to the backend/ directory:

cd backend
dart pub get

Seed initial sample data (Users, Clients, Products, Orders, Tasks) into PostgreSQL:

dart bin/seed.dart

Start the backend API server:

dart_frog dev

The API server will run at http://localhost:8080.

Run tests:

dart test

3. Mobile App Setup

Navigate to the mobile_app/ directory:

cd mobile_app
flutter pub get

Run static analysis:

flutter analyze

Launch the application:

flutter run

🛠️ Technology Stack

Layer Technology
Mobile App Flutter, BLoC / HydratedBloc, GoRouter, sqflite, FlutterSecureStorage, Dio
Backend API Dart Frog, Dart HTTP
Database PostgreSQL 16
Caching / Sessions Redis 7
Architecture Clean Architecture, Feature-first, Repository Pattern

📄 License

This project is proprietary and confidential. All rights reserved.

About

Full-stack enterprise mobile app and REST API backend designed for Store Management

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages