- π Overview
- β¨ Features
- ποΈ Architecture
- π Quick Start
- π Project Structure
- π§ Configuration
- π API Documentation
- π οΈ Development
- π Deployment
- π€ Contributing
- π License
TFX AI is a cutting-edge full-stack web application that showcases modern AI-powered development capabilities. Built with Next.js 15 and FastAPI, it provides a comprehensive platform for AI services, project management, and client interactions.
- π€ AI-Powered Tools: Resume analyzer, text generator, and QA bot using Google Gemini AI
- π₯ User Management: Complete authentication system with role-based access control
- πΌ Portfolio Management: Dynamic project showcase with filtering and search
- π° Pricing Plans: Flexible service pricing with multiple tiers
- π Content Management: Blog posts, case studies, and testimonials
- π Security: JWT authentication, rate limiting, and input validation
- Resume Analyzer: AI-powered resume analysis and feedback
- Text Generator: Intelligent text generation for various use cases
- QA Bot: Contextual question answering system
- Usage Tracking: Comprehensive AI tool usage analytics
- Authentication: Secure JWT-based login/registration
- Role System: Admin and User roles with different permissions
- Profile Management: User profile updates and avatar upload
- Email Verification: Account verification via email
- Project Showcase: Dynamic portfolio with categories (AI, Web, SaaS)
- Tech Stack Display: Technology stack visualization
- Featured Projects: Highlighted projects section
- Search & Filter: Advanced project filtering capabilities
- Service Catalog: Comprehensive service offerings
- Pricing Plans: Multiple pricing tiers with features
- Client Testimonials: Customer feedback showcase
- Contact Forms: Lead generation and contact management
- Blog System: Article publishing and management
- Case Studies: Detailed project case studies
- SEO Optimization: Meta tags and structured data
- Responsive Design: Mobile-first design approach
frontend/
βββ app/ # App Router structure
β βββ (auth)/ # Authentication pages
β βββ (dashboard)/ # Dashboard pages
β βββ api/ # API routes
β βββ globals.css # Global styles
βββ components/ # Reusable components
β βββ ui/ # UI components (shadcn/ui)
β βββ forms/ # Form components
β βββ layout/ # Layout components
βββ lib/ # Utility functions
βββ types/ # TypeScript definitions
backend/
βββ app/
β βββ api/v1/ # API endpoints
β βββ core/ # Core functionality
β βββ models/ # Database models
β βββ schemas/ # Pydantic schemas
β βββ services/ # Business logic
β βββ utils/ # Utilities
βββ alembic/ # Database migrations
βββ tests/ # Test files
- Users: Authentication and profiles
- Projects: Portfolio items
- Services: Service catalog
- AI Tool Usage: Usage analytics
- Content: Blog posts, testimonials, case studies
- Pricing: Service pricing plans
- Node.js 18+
- Python 3.14+
- PostgreSQL (NeonDB recommended)
- Git
git clone <repository-url>
cd tfxaicd backend
# Create virtual environment
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Configure environment
cp .env.example .env
# Edit .env with your database URL and API keys
# Setup database
python standalone_db_setup.py
# Start development server
python -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000cd frontend
# Install dependencies
npm install
# Configure environment
cp .env.local.example .env.local
# Edit .env.local with your API URLs
# Start development server
npm run dev- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
- Admin Dashboard: http://localhost:3000/admin
- Admin:
admin@tfxai.com/Admin@123 - Test User:
test@tfxai.com/Test@123
tfxai/
βββ README.md # This file
βββ .gitignore # Git ignore rules
βββ docker-compose.yml # Docker configuration
βββ .env.example # Environment template
β
βββ backend/ # FastAPI backend
β βββ app/
β β βββ api/v1/ # API endpoints
β β β βββ auth.py # Authentication
β β β βββ users.py # User management
β β β βββ projects.py # Portfolio
β β β βββ ai_tools.py # AI services
β β β βββ admin.py # Admin endpoints
β β βββ core/ # Core functionality
β β β βββ config.py # Settings
β β β βββ security.py # Auth
β β β βββ dependencies.py # DI
β β βββ models/ # SQLAlchemy models
β β βββ schemas/ # Pydantic schemas
β β βββ services/ # Business logic
β β βββ utils/ # Utilities
β βββ alembic/ # Database migrations
β βββ requirements.txt # Python dependencies
β βββ .env # Environment variables
β
βββ frontend/ # Next.js frontend
βββ app/ # App Router
β βββ (auth)/ # Auth pages
β βββ (dashboard)/# Dashboard
β βββ api/ # API routes
β βββ globals.css # Styles
βββ components/ # Reusable components
β βββ ui/ # shadcn/ui components
β βββ forms/ # Form components
β βββ layout/ # Layout components
βββ lib/ # Utilities
βββ types/ # TypeScript types
βββ public/ # Static assets
βββ package.json # Dependencies
# App Configuration
APP_NAME=TFX AI
APP_ENV=development
APP_PORT=8000
SECRET_KEY=your-super-secret-key
# Database
DATABASE_URL=postgresql+asyncpg://user:pass@host/db
# JWT Authentication
JWT_SECRET=your-jwt-secret
JWT_ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=15
# Email Service
MAIL_USERNAME=your@gmail.com
MAIL_PASSWORD=your_app_password
MAIL_FROM=your@gmail.com
# AI Services
GEMINI_API_KEY=your_gemini_api_key
# File Upload
CLOUDINARY_CLOUD_NAME=your_cloud
CLOUDINARY_API_KEY=your_key
CLOUDINARY_API_SECRET=your_secretNEXT_PUBLIC_API_URL=http://localhost:8000
NEXT_PUBLIC_APP_URL=http://localhost:3000POST /api/v1/auth/register- User registrationPOST /api/v1/auth/login- User loginPOST /api/v1/auth/refresh- Token refreshGET /api/v1/users/me- Get current user
POST /api/v1/ai-tools/analyze-resume- Resume analysisPOST /api/v1/ai-tools/generate-text- Text generationPOST /api/v1/ai-tools/qa-bot- QA botGET /api/v1/ai-tools/history- Usage history
GET /api/v1/projects- List projectsGET /api/v1/projects/{slug}- Get project detailsGET /api/v1/services- List servicesGET /api/v1/pricing- Get pricing plans
GET /api/v1/admin/dashboard- Dashboard statsGET /api/v1/admin/users- User managementPOST /api/v1/admin/projects- Create project
Visit http://localhost:8000/docs for interactive API documentation.
# Run tests
pytest
# Database migrations
alembic revision --autogenerate -m "Description"
alembic upgrade head
# Code formatting
black app/
isort app/
# Type checking
mypy app/# Run tests
npm test
# Build for production
npm run build
# Lint code
npm run lint
# Type checking
npm run type-check# Setup database
python standalone_db_setup.py
# Check database status
python check_db.py
# Reset database
python setup_database.pyFROM python:3.14-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]# Build for production
npm run build
# Deploy to Vercel
vercel --prod- Production: Use production database URLs
- Environment Variables: Set all required env vars
- SSL: Enable HTTPS for production
- Monitoring: Set up logging and monitoring
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow code conventions (Prettier, Black)
- Write tests for new features
- Update documentation
- Use meaningful commit messages
- Next.js 15 - React framework with App Router
- TypeScript - Type-safe JavaScript
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - Modern UI component library
- Framer Motion - Animation library
- Zustand - State management
- React Hook Form - Form handling
- Axios - HTTP client
- FastAPI - Modern Python web framework
- SQLAlchemy - ORM with async support
- PostgreSQL - Database (NeonDB)
- Pydantic - Data validation
- JWT - Authentication tokens
- bcrypt - Password hashing
- Alembic - Database migrations
- Google Gemini AI - AI model integration
- Cloudinary - File storage
- SMTP - Email service
- Redis - Caching (optional)
- JWT Authentication: Secure token-based auth
- Password Hashing: bcrypt encryption
- Rate Limiting: API abuse prevention
- Input Validation: Pydantic schemas
- CORS Protection: Cross-origin security
- SQL Injection Prevention: ORM protection
- HTTPS Ready: SSL configuration
- Database Optimization: Indexed queries
- Caching Strategy: Redis integration
- Image Optimization: Cloudinary CDN
- Code Splitting: Next.js optimization
- Lazy Loading: Component-level loading
- API Rate Limiting: Performance protection
- Database Connection: Check DATABASE_URL format
- AI API Errors: Verify GEMINI_API_KEY
- CORS Issues: Check allowed origins
- Build Errors: Clear node_modules and reinstall
# Backend debug mode
uvicorn app.main:app --reload --log-level debug
# Frontend debug mode
NEXT_PUBLIC_DEBUG=true npm run devThis project is licensed under the MIT License - see the LICENSE file for details.
- Next.js Team - Amazing React framework
- FastAPI - Modern Python web framework
- NeonDB - PostgreSQL hosting
- Google Gemini - AI model capabilities
- shadcn/ui - Beautiful UI components
For support and questions:
- π§ Email: arun.builds.tech@gmail.com
- π Issues: GitHub Issues
- π Docs: Documentation
Arun Kumar Bind
- π§ Email: arun.builds.tech@gmail.com
- π GitHub: Trifusion-Dynamics
- πΌ LinkedIn: Arun Kumar Bind
π Built with β€οΈ by Arun Kumar Bind
β Star this repo if it helped you!