Skip to main content

ZÈYA Technical Documentation

Welcome to the official technical documentation for the ZÈYA platform. This documentation covers all aspects of the ZÈYA ecosystem, including the API backend, mobile application, and admin dashboard.

📚 Overview

ZÈYA is a peer-to-peer item swapping platform that enables users to discover, like, and swap items with others in their community. The platform consists of three main components:

  • API Backend - Laravel REST API serving all clients
  • Mobile App - React Native mobile application (iOS & Android)
  • Admin Panel - Next.js web dashboard for platform management

🏗️ Platform Architecture

┌─────────────────┐
│ Mobile App │ React Native (iOS & Android)
│ (React Native) │
└────────┬────────┘

│ HTTP/REST API

┌────────▼────────┐ ┌──────────────┐
│ API Backend │◄────────┤ Admin Panel │
│ (Laravel) │ │ (Next.js) │
└─────────────────┘ └──────────────┘

├── MySQL/PostgreSQL (Primary DB)
├── MongoDB (Product Search)
├── Redis (Cache/Queue)
├── AWS S3 (File Storage)
├── Firebase (Realtime Chat)
└── Google BigQuery (Analytics)

📖 Documentation by Service

🆘 Quick Reference


📖 Documentation by Service

🔌 API Backend

The Laravel REST API backend that powers the entire ZÈYA platform.

Quick Links:

Tech Stack: Laravel 10.10, PHP 8.1+, MySQL/PostgreSQL, MongoDB, Redis, AWS S3, Firebase


📱 Mobile App

React Native mobile application for iOS and Android platforms.

Quick Links:

Tech Stack: React Native 0.79.6, Expo SDK 53, Firebase, React Navigation, i18next


🖥️ Admin Panel

Next.js web dashboard for platform administration and management.

Quick Links:

Tech Stack: Next.js 13.2.4, React 18.2.0, React Bootstrap, ApexCharts, Chart.js


🚀 Quick Start Guides

For New Developers

  1. Start with the API:

  2. Then explore the Mobile App:

  3. Finally, check the Admin Panel:

For API Consumers

-- Start with API Endpoints -- Review API Integration Guides -- Check Response Formats

For Mobile Developers

For Admin Panel Developers

🔗 Key Resources

API Documentation

  • Base URL: https://api.zeya.app/api/v1/
  • Admin API: https://api.zeya.app/api/admin/v1/
  • Authentication: JWT Bearer tokens
  • Documentation: API Endpoints

Mobile App

  • Platforms: iOS & Android
  • Build Tool: Expo EAS
  • Navigation: Expo Router (File-based) -- Documentation: Mobile App Docs

Admin Panel

  • Framework: Next.js 13
  • Deployment: Vercel/Docker
  • Authentication: JWT-based -- Documentation: Admin Panel Docs

📋 Common Tasks

Setting Up Development Environment

  1. API Backend:

    cd API
    composer install
    cp .env.example .env
    php artisan key:generate
    php artisan migrate
    php artisan serve
  2. Mobile App:

    cd Zeya-Mobile-App
    npm install
    npm start
  3. Admin Panel:

    cd Zeya-Admin
    npm install
    npm run dev

Building for Production

-- API: See API Deployment -- Mobile App: See Mobile App Build & Deployment -- Admin Panel: See Admin Panel Build & Deployment

🛠️ Development Workflow

Contributing

Each service has its own contributing guidelines:

-- API Contributing Guide -- Mobile App Contributing Guide -- Admin Panel Contributing Guide

Code Standards

  • API: Follow Laravel conventions and PSR-12
  • Mobile App: Follow React Native best practices
  • Admin Panel: Follow Next.js conventions

Testing

  • API: PHPUnit tests
  • Mobile App: Manual testing on iOS/Android
  • Admin Panel: Manual testing in browsers

📊 Platform Features

Core Features

  • 🔐 Authentication - Multiple login methods (Email, Phone, Apple, Google, Facebook)
  • 📦 Product Management - Create, browse, and manage items
  • ❤️ Swipe Matching - Tinder-like swipe interface for item discovery
  • 🔄 Swap Transactions - Complete swap workflow management
  • 👥 Groups & Communities - Location-based groups
  • 💬 Real-time Chat - Firebase-powered messaging
  • 🔔 Push Notifications - Expo push notifications
  • 📊 Analytics - Comprehensive analytics and insights
  • 👨‍💼 Admin Dashboard - Complete platform management

Advanced Features

  • 📍 Location-based Discovery - Geospatial queries
  • 🌍 Multi-language Support - 6+ languages
  • 🔍 Product Verification - Admin verification workflow
  • 📈 Demographics & Insights - User analytics
  • 💳 Subscriptions - In-app subscription management
  • 🔗 Referral System - User referral tracking

🔐 Authentication & Security

Authentication Methods

  • JWT tokens for API authentication
  • Secure token storage (Secure Store for mobile, Cookies for web)
  • Token refresh mechanism
  • Role-based access control (RBAC)

Security Best Practices

  • HTTPS for all API calls
  • Secure storage for sensitive data
  • Input validation on all endpoints
  • SQL injection prevention (Eloquent ORM)
  • XSS protection

📞 Support & Contact

For technical questions or issues:

  1. Check the relevant service documentation
  2. Review the Development Guides
  3. Contact the development team

📝 Documentation Structure

docs/
├── README.md # This file - Main documentation index
├── troubleshooting.md # Common issues and solutions
├── git-workflow.md # Git workflow and best practices
├── error-codes.md # Error codes reference
├── onboarding.md # Developer onboarding guide
├── push-notifications-architecture.md # Push notifications system overview
├── API/ # API Backend documentation
│ ├── README.md
│ ├── setup.md
│ ├── architecture.md
│ ├── api-endpoints.md
│ ├── development.md
│ ├── deployment.md
│ ├── environment-config.md
│ ├── features.md
│ ├── push-notifications.md # Push notifications (Backend)
│ └── contributing.md
├── Zeya-Mobile-App/ # Mobile App documentation
│ ├── README.md
│ ├── setup.md
│ ├── architecture.md
│ ├── development.md
│ ├── build-deployment.md
│ ├── api-integration.md
│ ├── features.md
│ ├── push-notifications.md # Push notifications (Mobile)
│ └── contributing.md
└── Zeya-Admin/ # Admin Panel documentation
├── README.md
├── setup.md
├── architecture.md
├── development.md
├── build-deployment.md
├── api-integration.md
├── features.md
└── contributing.md

🔄 Documentation Updates

This documentation is actively maintained. When making changes:

  1. Update the relevant service documentation
  2. Update this README if adding new sections
  3. Keep links consistent across all documentation
  4. Follow the established documentation structure

📄 License

Proprietary - ZÈYA Application


Last Updated: December 2024

Made with ❤️ by the ZÈYA Team