No description
Find a file
2025-02-13 18:49:54 +01:00
backend g 2025-02-13 18:49:54 +01:00
certs fixing soe bugs 2025-02-08 19:06:24 +01:00
frontend some modifications 2025-02-13 18:48:34 +01:00
.coverage init 2025-02-07 23:33:35 +01:00
.gitignore front 2025-02-08 03:28:12 +01:00
cookies.txt update 7 2025-02-10 19:55:09 +01:00
docker-compose.yml dfv 2025-02-12 14:03:08 +01:00
error.html dfv 2025-02-12 14:03:08 +01:00
install front 2025-02-08 03:28:12 +01:00
next-env.d.ts front 2025-02-08 03:28:12 +01:00
nginx.conf dfv 2025-02-12 14:03:08 +01:00
pip front 2025-02-08 03:28:12 +01:00
prompt update 6.55 2025-02-09 23:48:06 +01:00
README.md update 6.55 2025-02-09 23:48:06 +01:00

Samma (سماء) - Arabic Digital Games Store

Samma is a feature-rich Arabic digital games marketplace where users can buy, sell, and discover games. The platform includes advanced features such as dynamic ad placement through bidding, user ratings, and comments.

Project Structure

The project is divided into two main parts:

Backend (/backend)

  • Django + Django REST Framework
  • PostgreSQL database
  • Redis for caching
  • Celery for task queue
  • PayPal integration
  • JWT authentication

Frontend (/frontend)

  • Next.js
  • TypeScript
  • Chakra UI
  • PayPal React components
  • RTL support for Arabic

Key Features

  • User authentication and profile management

    • Secure registration and login
    • Email verification
    • Profile customization
    • Transaction history
  • Game Marketplace

    • Game listing and management
    • Secure PayPal integration for payments
    • Dynamic ad placement through bidding system
    • Automated revenue sharing based on bids
  • Advanced Bidding System

    • Minimum 5% platform fee for listing
    • Bid on category/tag placement
    • Dynamic ranking algorithm based on:
      • Bid amount
      • Game rating
      • Comment count
  • Rating & Comments

    • 10-star rating system
    • Threaded comments
    • Content moderation tools
  • Discovery Features

    • Category-based organization
    • Tag-based filtering
    • Search functionality
    • Dynamic front page featuring top games
  • Arabic Language Support

    • Full RTL interface
    • Arabic content management
    • Localized user experience

Prerequisites

Backend:

  • Python 3.10+
  • PostgreSQL 14+
  • Redis 6+

Frontend:

  • Node.js 18+
  • npm or yarn

Setup Instructions

Backend Setup

  1. Navigate to the backend directory:

    cd backend
    
  2. Create and activate a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. Install Python dependencies:

    pip install -r requirements.txt
    
  4. Set up environment variables:

    cp .env.example .env
    # Edit .env with your configuration
    
  5. Initialize the database:

    python manage.py migrate
    python manage.py createsuperuser
    
  6. Run the development server:

    python manage.py runserver
    

Frontend Setup

  1. Navigate to the frontend directory:

    cd frontend
    
  2. Install dependencies:

    npm install
    
  3. Run the development server:

    npm run dev
    

Development

API Documentation

The API documentation is available at:

Security Features

  • JWT-based authentication
  • HTTPS enforcement
  • Input validation and sanitization
  • CSRF protection
  • Secure session management
  • PayPal secure integration

Performance Optimizations

  • Redis caching for frequently accessed data
  • Optimized database queries
  • CDN integration for static assets
  • Lazy loading of images and components
  • Efficient bidding algorithm implementation

Contributing

Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.