Deprecated: Function get_magic_quotes_gpc() is deprecated in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 99

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 619

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1169

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176
8000 GitHub - altudev/hairfluencer: Adım adım Vibe Coding ile Adapty x Fal Hackathon için AI mobil projemizi geliştiriyoruz! 🚀
Nothing Special   »   [go: up one dir, main page]

Skip to content

Adım adım Vibe Coding ile Adapty x Fal Hackathon için AI mobil projemizi geliştiriyoruz! 🚀

Notifications You must be signed in to change notification settings

altudev/hairfluencer

Repository files navigation

Hairfluencer - AI Hairstyle Try On

Hairfluencer is an AI-powered mobile application that enables users to instantly visualize new haircuts and colors using advanced AI transformation technology. Built as a hackathon MVP using Turborepo, Expo, and FAL.ai. BA67

Features

  • AI Hairstyle Transformation: Upload a selfie and try on different hairstyles using FAL.ai's nano-banana/edit model
  • Dual Language Support: Full support for English and Spanish interfaces
  • Authentication: Secure login with email/password or Google OAuth
  • Favorites System: Save and manage your favorite hairstyle transformations
  • Admin Panel: Web-based management interface for hairstyle gallery and analytics

Project Structure

This is a Turborepo monorepo containing:

Apps

  • apps/mobile: Expo React Native app (primary client) for iOS/Android
  • apps/api: Bun + Hono backend API with Better Auth and Drizzle ORM
  • apps/web: Next.js 15 admin panel with Turbopack

Packages

  • packages/eslint-config: Shared ESLint configurations
  • packages/typescript-config: Shared TypeScript configurations

Quick Start

Prerequisites

  • Node.js 18+
  • Bun 1.2.22+
  • PostgreSQL database
  • FAL.ai API key
  • Google OAuth credentials (optional)

Installation

# Clone the repository
git clone https://github.com/yourusername/hairfluencer.git
cd hairfluencer

# Install dependencies
bun install

Environment Setup

Create .env files in the respective app directories:

apps/api/.env:

DATABASE_URL=postgres://user:password@localhost:5432/hairfluencer
DRIZZLE_DATABASE_URL=postgres://user:password@localhost:5432/hairfluencer
BETTER_AUTH_SECRET=your-32-character-minimum-secret-key
BETTER_AUTH_URL=http://localhost:3001
FRONTEND_URL=http://localhost:8081
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
FAL_API_KEY=your-fal-api-key
FAL_MODEL_ID=nano-banana/edit

apps/mobile/.env:

EXPO_PUBLIC_API_URL=http://localhost:3001
EXPO_PUBLIC_GOOGLE_CLIENT_ID=your-google-client-id
EXPO_PUBLIC_ADAPTY_PUBLIC_KEY=your-adapty-public-key

apps/web/.env:

NEXT_PUBLIC_API_URL=http://localhost:3001

Database Setup

# Navigate to API directory
cd apps/api

# Generate database migrations
bun run db:generate

# Apply migrations
bun run db:migrate

# (Optional) Open Drizzle Studio for database management
bun run db:studio

Development

Run all apps simultaneously

bun dev

Run individual apps

Mobile App (Expo):

cd apps/mobile
bunx expo install [package]  # Install packages with Expo compatibility
bun start                     # Start Expo development server
bun ios                       # Run on iOS simulator
bun android                   # Run on Android emulator
bun web                       # Run in web browser

API Server:

cd apps/api
bun dev  # Runs on http://localhost:3001

Admin Panel:

cd apps/web
bun dev  # Runs on http://localhost:3000

Building for Production

# Build all apps
bun build

# Build specific app
bun build --filter=mobile
bun build --filter=api
bun build --filter=web

Code Quality

# Run linting for all apps
bun lint

# Format all TypeScript and Markdown files
bun format

# Type check all apps
bun check-types

Tech Stack

  • Mobile: Expo SDK 53, React Native 0.79, React Navigation, Expo Router
  • Backend: Bun, Hono, Better Auth, Drizzle ORM, PostgreSQL
  • Admin: Next.js 15, React 19, Tailwind CSS v4, Turbopack
  • AI: FAL.ai platform (nano-banana/edit model)
  • Payments: Adapty SDK for in-app purchases
  • Monorepo: Turborepo with Bun workspaces

Project Goals (Hackathon MVP)

  • Launch working MVP within 14 days
  • Achieve 200+ user sign-ups in the first week
  • Complete 100+ AI hairstyle try-ons
  • Maintain <8 second transformation time (90th percentile)
  • Collect 50+ user feedback responses

Contributing

Please read AGENTS.md for development guidelines and CLAUDE.md for AI assistant integration instructions.

License

This project is proprietary and confidential.

About

Adım adım Vibe Coding ile Adapty x Fal Hackathon için AI mobil projemizi geliştiriyoruz! 🚀

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  
0