- About the Project
- Tech Stack
- Architecture
- Getting Started
- Configuration
- Available Scripts
- Project Structure
- Contributing
Infinity App is a modern web application built with React and TypeScript, featuring a robust chat interface, authentication system, and responsive design. The application utilizes the latest frontend technologies and best practices to deliver a seamless user experience.
- 🎨 Modern UI with Radix UI components
- 🔐 Authentication with Privy
- 💬 Advanced chat functionality
- 📱 Responsive design
- 🎵 Audio recording capabilities
- 🚀 Optimized performance
- Framework: React 18.3.1
- Language: TypeScript 5.6.3
- Build Tool: Vite 6.0.5
- Package Manager: pnpm
- CSS Framework: Tailwind CSS 3.4.4
- Component Library: Radix UI
- Icons: Lucide React
- Animations: React Spring
- API Client: TanStack Query 5.63.0
- Routing: React Router 7.1.1
- Linting: ESLint
- Type Checking: TypeScript
- Code Formatting: Prettier
- Build Optimization: Vite Plugin Compression
📦 src
├── 🎯 components/
│ ├── ui/ # Reusable UI components
│ │ ├── chat/ # Chat-specific components
│ │ └── ... # Other UI components
│ └── ... # App-specific components
├── 📡 routes/ # Application routes
├── 🪝 hooks/ # Custom React hooks
├── 📚 lib/ # Utilities and API
└── 📝 types/ # TypeScript types
node -v # Latest LTS version
pnpm -v # Latest version
- Clone the repository
git clone https://github.com/your-org/infinity-app.git
cd infinity-app
- Install dependencies
pnpm install
- Configure environment variables
cp .env.example .env
- Start development server
pnpm dev
# App Configuration
VITE_APP_NAME=InfinityApp
VITE_API_URL=http://localhost:3000/api
# Authentication
VITE_PRIVY_APP_ID=your-privy-app-id
# Feature Flags
VITE_ENABLE_AUDIO=true
VITE_ENABLE_TTS=true
# Development
pnpm dev # Start development server
pnpm build # Build for production
pnpm preview # Preview production build
# Version Management
pnpm extract-version # Extract version information
InfinityApp/
├── src/
│ ├── components/ # React components
│ │ ├── ui/ # Shared UI components
│ │ └── ... # Feature-specific components
│ ├── routes/ # Application routes
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utilities and services
│ └── types/ # TypeScript type definitions
├── public/ # Static assets
├── index.html # Entry HTML file
├── vite.config.ts # Vite configuration
├── tailwind.config.ts # Tailwind CSS configuration
└── tsconfig.json # TypeScript configuration
components/ui/
: Reusable UI components built with Radix UIcomponents/chat/
: Specialized chat interface componentscomponents/app-sidebar.tsx
: Main application navigationcomponents/header.tsx
: Application header with user controls
routes/dashboard.tsx
: Main dashboard viewroutes/chat.tsx
: Chat interfaceroutes/overview.tsx
: System overviewroutes/landing.tsx
: Landing page
hooks/use-mobile.tsx
: Mobile device detectionhooks/use-toast.ts
: Toast notification systemhooks/use-version.tsx
: Version management
- Fork the repository
- Create your feature branch
git checkout -b feature/AmazingFeature
- Commit your changes
git commit -m 'Add some AmazingFeature'
- Push to the branch
git push origin feature/AmazingFeature
- Open a Pull Request
- Follow the existing code style
- Use TypeScript for all new files
- Write meaningful commit messages
- Add appropriate documentation
- Ensure all tests pass