Skip to content

Repository files navigation

AppReview Pro - Mobile App Testing & Review Tool

A comprehensive mobile app testing and review platform that provides extensive feedback on Android APK files. Upload an APK and receive detailed analysis covering security, performance, accessibility, UI/UX, permissions, and code quality.

Features

Analysis Modules

  • Security Analysis - Detects debug mode, backup vulnerabilities, cleartext traffic, dangerous permissions, code obfuscation status, and exported components
  • Performance Analysis - APK size assessment, multi-DEX analysis, resource optimization scoring, cold start time estimation, memory footprint prediction, native library architecture coverage
  • UI/UX Analysis - Screen density coverage, adaptive icon detection, Material Design compliance scoring, dark theme support, landscape/tablet layout detection, navigation pattern identification
  • Accessibility Analysis - Content description coverage, touch target compliance, color contrast assessment, screen reader optimization, WCAG compliance level estimation, font scaling support
  • Permissions Analysis - Dangerous permission audit with risk levels, permission combination analysis, unnecessary permission detection, permission group mapping, privacy risk assessment
  • Code Quality Analysis - SDK version assessment, architecture pattern detection, third-party library identification, component count analysis, code complexity estimation

Report Generation

  • Weighted overall score (0-100) with letter grade (A+ to F)
  • Per-module scoring with individual letter grades
  • Detailed findings with severity levels (Critical, High, Medium, Low, Info)
  • Actionable recommendations prioritized by effort and impact
  • Cross-cutting analysis identifying compound risks

Tech Stack

  • Framework: Next.js 14 (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS
  • Database: SQLite (via better-sqlite3)
  • APK Parsing: adm-zip, xml2js
  • Runtime: Node.js 18+

Getting Started

Prerequisites

  • Node.js 18 or later
  • npm or yarn

Installation

# Clone the repository
git clone <repository-url>
cd Reviewing-App

# Install dependencies
npm install

# Start development server
npm run dev

The app will be available at http://localhost:3000.

Production Build

npm run build
npm start

Project Structure

src/
├── app/                    # Next.js App Router pages
│   ├── api/               # API routes
│   │   ├── submit/        # POST /api/submit - Upload APK
│   │   └── reviews/       # GET /api/reviews - List & detail
│   ├── reviews/           # Review list & detail pages
│   ├── submit/            # Submit app page
│   ├── layout.tsx         # Root layout
│   └── page.tsx           # Dashboard page
├── components/            # React components
│   ├── Header.tsx         # Navigation header
│   ├── Footer.tsx         # Page footer
│   ├── ScoreGauge.tsx     # Circular score visualization
│   ├── ReviewCard.tsx     # Review summary card
│   ├── AnalysisSection.tsx # Expandable analysis section
│   ├── SubmitForm.tsx     # APK upload form
│   └── ReportView.tsx     # Full report display
├── engine/                # Analysis engine
│   ├── index.ts           # Main analysis orchestrator
│   ├── manifest-analyzer.ts    # APK manifest parsing
│   ├── security-analyzer.ts    # Security assessment
│   ├── performance-analyzer.ts # Performance assessment
│   ├── ui-ux-analyzer.ts      # UI/UX assessment
│   ├── accessibility-analyzer.ts # Accessibility assessment
│   ├── permissions-analyzer.ts  # Permissions assessment
│   ├── code-quality-analyzer.ts # Code quality assessment
│   └── report-generator.ts     # Report compilation
└── lib/                   # Shared utilities
    ├── db.ts              # SQLite database operations
    ├── types.ts           # TypeScript type definitions
    └── utils.ts           # Helper functions

API Endpoints

POST /api/submit

Upload an APK file for analysis.

Request: multipart/form-data

  • apk (File) - The APK file
  • appName (string, optional) - Display name for the app

Response:

{
  "id": "uuid",
  "status": "completed",
  "overallScore": 72,
  "summary": "Overall Grade: B (72/100)...",
  "redirectUrl": "/reviews/uuid"
}

GET /api/reviews

List all completed reviews.

GET /api/reviews/:id

Get detailed analysis for a specific submission.

Scoring System

Grade Score Range
A+ 97-100
A 90-96
B+ 85-89
B 78-84
C+ 70-77
C 60-69
D 50-59
F 0-49

Score Weights

Category Weight
Security 25%
Performance 20%
UI/UX 15%
Accessibility 15%
Permissions 15%
Code Quality 10%

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages