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
- Troubleshooting Guide - Common issues and solutions
- Git Workflow - Branching strategy and PR process
- Error Codes Reference - Standard error codes
- Developer Onboarding - Guide for new team members
- Push Notifications Architecture - Complete push notification system overview
📖 Documentation by Service
🔌 API Backend
The Laravel REST API backend that powers the entire ZÈYA platform.
Quick Links:
- API Overview - Complete API documentation
- Setup & Installation - Get started with the API
- Architecture - System architecture
- API Endpoints - Complete endpoint reference
- Development Guide - Development workflow
- Deployment - Production deployment
- Environment Config - Environment variables
- Features - Feature documentation
- Push Notifications - Push notification system (Backend)
- Contributing - Contribution guidelines
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:
- Mobile App Overview - Complete mobile app documentation
- Setup & Installation - Get started with the mobile app
- Architecture - App architecture
- Development Guide - Development workflow
- Build & Deployment - Building and deploying
- API Integration - API integration guide
- Features - Feature documentation
- Push Notifications - Push notification system (Mobile)
- Contributing - Contribution guidelines
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:
- Admin Panel Overview - Complete admin panel documentation
- Setup & Installation - Get started with the admin panel
- Architecture - Dashboard architecture
- Development Guide - Development workflow
- Build & Deployment - Building and deploying
- API Integration - API integration guide
- Features - Feature documentation
- Contributing - Contribution guidelines
Tech Stack: Next.js 13.2.4, React 18.2.0, React Bootstrap, ApexCharts, Chart.js
🚀 Quick Start Guides
For New Developers
-
Start with the API:
- Read API Setup Guide
- Set up local development environment
- Understand the API Architecture
-
Then explore the Mobile App:
- Read Mobile App Setup Guide
- Set up Expo development environment
- Review API Integration
-
Finally, check the Admin Panel:
- Read Admin Panel Setup Guide
- Set up Next.js development environment
- Review Admin Features
For API Consumers
-- Start with API Endpoints -- Review API Integration Guides -- Check Response Formats
For Mobile Developers
- Start with Mobile App Setup -- Review Architecture -- Check Development Guide
For Admin Panel Developers
- Start with Admin Panel Setup -- Review Architecture -- Check Development Guide
🔗 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
-
API Backend:
cd API
composer install
cp .env.example .env
php artisan key:generate
php artisan migrate
php artisan serve -
Mobile App:
cd Zeya-Mobile-App
npm install
npm start -
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:
- Check the relevant service documentation
- Review the Development Guides
- 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:
- Update the relevant service documentation
- Update this README if adding new sections
- Keep links consistent across all documentation
- Follow the established documentation structure
📄 License
Proprietary - ZÈYA Application
Last Updated: December 2024
Made with ❤️ by the ZÈYA Team