- About the Project
- Tech Stack
- Features
- Project Structure
- Getting Started
- Components
- Available Scripts
- Contributing
Infinity Dashboard is a modern web application built with Next.js and TypeScript, providing a comprehensive platform for managing campaigns, tracking loyalty points, and engaging with users through a chat interface. The application features a responsive design and rich UI components.
- 📊 Campaign Management Dashboard
- 💬 Interactive Chat Interface
- 👤 User Profile Management
- 📱 Responsive Design
- 🌙 Dark/Light Theme Support
- 📈 Analytics and Reports
- 🎯 Loyalty Points Tracking
- Framework: Next.js 14.2
- Language: TypeScript 5
- Runtime: React 18
- CSS Framework: Tailwind CSS 3.4
- Component Library: Radix UI
- Icons: Lucide React
- Charts: Recharts & Chart.js
- Animations: Tailwind Animate
- Authentication: Privy Auth
- Forms: React Hook Form
- Validation: Zod
- Notifications: Sonner
- Linting: ESLint
- Type Checking: TypeScript
- Package Manager: npm
- Campaign Overview
- Active Campaigns Tracking
- Completed Campaigns History
- Loyalty Points Summary
- Performance Reports
- Real-time Analytics
- Real-time Messaging
- Message History
- User Interactions
- Chat Interface Components
- User Profile Customization
- Settings Configuration
- Account Management
- Preferences
Infinity/
├── app/ # Next.js app directory
│ ├── dashboard/ # Dashboard routes
│ ├── globals.css # Global styles
│ └── layout.tsx # Root layout
│
├── components/ # React components
│ ├── dashboard/ # Dashboard-specific components
│ │ ├── chat/ # Chat components
│ │ └── profile/ # Profile components
│ └── ui/ # Reusable UI components
│
├── hooks/ # Custom React hooks
├── lib/ # Utilities and configurations
└── public/ # Static assets
node -v # >= 18
npm -v # >= 9- Clone the repository
git clone https://github.com/JulioMCruz/Infinity.git
cd Infinity/Infinity- Install dependencies
npm install- Set up environment variables
cp .env.example .env.local- Start development server
npm run devactive-campaigns.tsx: Active campaign trackingcampaign-summary.tsx: Campaign overviewloyalty-points-summary.tsx: Points trackingreports.tsx: Analytics and reportingwelcome-header.tsx: Dashboard header
chat-interface.tsx: Main chat interfacemessage-list.tsx: Message display
- Comprehensive set of Radix UI based components
- Custom themed components
- Responsive design elements
- Interactive UI elements
# Development
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
# Code Quality
npm run lint # Run ESLint# Server Configuration
SERVER_ENDPOINT=your-server-endpoint
# Authentication
NEXT_PUBLIC_PRIVY_APP_ID=your-privy-app-id
NEXT_PUBLIC_PRIVY_CLIENT_ID=your-privy-client-id
# Nillion Secret Vault Configuration
NEXT_PUBLIC_NILLION_ORG_SK=your-nillion-org-sk
NEXT_PUBLIC_NILLION_ORG_DID=your-nillion-org-did
# Nillion Node Configuration
NEXT_PUBLIC_NILLION_NODE1_URL=your-node1-url
NEXT_PUBLIC_NILLION_NODE1_DID=your-node1-did
NEXT_PUBLIC_NILLION_NODE2_URL=your-node2-url
NEXT_PUBLIC_NILLION_NODE2_DID=your-node2-did
NEXT_PUBLIC_NILLION_NODE3_URL=your-node3-url
NEXT_PUBLIC_NILLION_NODE3_DID=your-node3-did
# Nillion Schema Configuration
NEXT_PUBLIC_NILLION_USER_PROFILE_SCHEMA_ID=your-user-profile-schema-id
NEXT_PUBLIC_NILLION_USER_SECRETS_SCHEMA_ID=your-user-secrets-schema-id- 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
- Use TypeScript for all new files
- Follow the existing component structure
- Write meaningful commit messages
- Add appropriate documentation
- Ensure responsive design
- Test across different devices
