Skip to content

Repository files navigation

📱 App Store

Next.js TypeScript Prisma Tailwind CSS

License GitHub Stars GitHub Forks GitHub Issues

A modern, full-featured app store platform built with Next.js 15

🚀 Demo✨ Features📦 Installation📖 API Docs🤝 Contributing


🎯 Overview

App Store is a sleek, production-ready application marketplace platform featuring a beautiful UI, comprehensive admin dashboard, and complete RESTful API. Perfect for distributing Android apps, internal tools, or any downloadable content.


✨ Features

🎨 Frontend

Feature Description
🌙 Dark/Light Mode Beautiful theme toggle with system preference detection
📱 Responsive Design Mobile-first approach, works on all devices
🔍 Smart Search Real-time search across apps, categories, and descriptions
Ratings & Reviews Full review system with star ratings
🖼️ Screenshot Gallery Lightbox preview with smooth animations
📊 Top Charts Popular apps ranked by downloads

🔐 Authentication

Provider Status
📧 Email/Password ✅ Supported
🔵 Google OAuth ✅ Supported
🟣 SM40 OAuth ✅ Supported

👨‍💼 Admin Dashboard

  • 📊 Analytics Dashboard - Real-time stats and activity feed
  • 📱 App Management - Create, edit, delete apps with file uploads
  • 👥 User Management - Manage roles and permissions
  • 🏷️ Category Management - Dynamic category system
  • Review Moderation - Monitor and manage user reviews

🔌 RESTful API

Complete API for mobile apps and third-party integrations:

POST   /api/auth/login          # Login with JWT token
POST   /api/auth/register       # Register new user
GET    /api/apps                # List all apps
POST   /api/apps                # Create app (Admin)
GET    /api/apps/:id            # Get app details
PUT    /api/apps/:id            # Update app (Admin)
DELETE /api/apps/:id            # Delete app (Admin)
GET    /api/reviews             # List reviews
POST   /api/reviews             # Create review
GET    /api/categories          # List categories
GET    /api/admin/stats         # Dashboard stats (Admin)

📄 Full documentation: API_DOCUMENTATION.md
📮 Postman Collection: App_Store_API.postman_collection.json


🛠️ Tech Stack

Next.js
Next.js 15
TypeScript
TypeScript
Tailwind
Tailwind 4
Prisma
Prisma
SQLite
SQLite

📦 Installation

Prerequisites

  • Node.js 18+
  • npm or yarn

Quick Start

# Clone the repository
git clone https://github.com/ReXiOP/App-Store.git
cd App-Store

# Install dependencies
npm install

# Setup environment variables
cp .env.example .env
# Edit .env with your configuration

# Initialize database
npx prisma db push

# Run development server
npm run dev

Open http://localhost:3000 🚀

Environment Variables

# Database
DATABASE_URL="file:./dev.db"

# NextAuth
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="your-secret-key"

# OAuth Providers
GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"
SM40_APP_ID="your-sm40-app-id"
SM40_APP_SECRET="your-sm40-app-secret"

📁 Project Structure

App-Store/
├── 📂 prisma/              # Database schema
├── 📂 public/              # Static assets & uploads
├── 📂 src/
│   ├── 📂 app/
│   │   ├── 📂 admin/       # Admin dashboard pages
│   │   ├── 📂 api/         # REST API endpoints
│   │   ├── 📂 apps/        # App listing & details
│   │   ├── 📂 auth/        # Authentication pages
│   │   └── 📂 profile/     # User profile
│   ├── 📂 components/      # Reusable UI components
│   └── 📂 lib/             # Utilities & configurations
├── 📄 API_DOCUMENTATION.md # API reference
└── 📄 App_Store_API.postman_collection.json

🔑 Default Admin Setup

After installation, create an admin user:

  1. Register a new account via /auth/signin
  2. Open your database with npx prisma studio
  3. Change the user's role from USER to ADMIN

📸 Screenshots

🏠 Home Page 📱 App Details
Beautiful landing with featured apps Full app info with screenshots & reviews
👨‍💼 Admin Dashboard 🔐 Login Page
Comprehensive admin controls OAuth + Email authentication

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

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


⭐ Star this repo if you find it useful!

GitHub Stars

Made with ❤️ by ReXiOP

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages