Skip to content

Agarwalchetan/Pixeloria

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

208 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Pixeloria

A comprehensive web application for digital services with an interactive cost estimator, admin dashboard, and client management system.

πŸš€ Features

Cost Estimator

  • Interactive multi-step calculator for project cost estimation
  • Dynamic pricing based on project type, features, and timeline
  • Real-time cost breakdown with visual charts
  • Email submission and PDF export capabilities

Admin Dashboard

  • Complete calculator submission management
  • View detailed submission reports in formatted HTML
  • User management and authentication
  • Analytics and reporting tools
  • Content management for calculator configurations

Client Features

  • Modern responsive design with smooth animations
  • Interactive chat widget for customer support
  • Portfolio showcase and service pages
  • Contact forms and newsletter subscription

πŸ›  Tech Stack

Frontend:

  • React 18 with TypeScript
  • Vite for development and building
  • Tailwind CSS for styling
  • Framer Motion for animations
  • Lucide React for icons
  • React Router for navigation

Backend:

  • Node.js with Express
  • MongoDB with Mongoose
  • JWT authentication
  • Swagger API documentation
  • Winston logging
  • Nodemailer for email services

πŸ“ Project Structure

Pixeloria/
β”œβ”€β”€ src/                    # Frontend React application
β”‚   β”œβ”€β”€ components/         # Reusable UI components
β”‚   β”œβ”€β”€ pages/             # Page components
β”‚   β”œβ”€β”€ admin/             # Admin dashboard components
β”‚   β”œβ”€β”€ hooks/             # Custom React hooks
β”‚   β”œβ”€β”€ layouts/           # Layout components
β”‚   └── utils/             # Utility functions and API
β”œβ”€β”€ backend/               # Backend Node.js application
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ controllers/   # Route controllers
β”‚   β”‚   β”œβ”€β”€ middleware/    # Authentication & validation
β”‚   β”‚   β”œβ”€β”€ database/      # Database models and config
β”‚   β”‚   β”œβ”€β”€ routes/        # API routes
β”‚   β”‚   └── utils/         # Backend utilities
β”‚   └── uploads/           # File upload storage
└── docs/                  # Documentation files

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • MongoDB Atlas account or local MongoDB
  • Gmail account for email services

Installation

  1. Clone the repository
git clone <repository-url>
cd Pixeloria
  1. Install frontend dependencies
npm install
  1. Install backend dependencies
cd backend
npm install
  1. Environment Setup
# Copy backend environment file
cp backend/.env.example backend/.env
# Configure your MongoDB URI, JWT secret, and email credentials
  1. Start Development Servers

Backend (runs on port 5000 or 50001 if port conflict):

cd backend
npm run dev

Frontend (runs on port 5173):

npm run dev

πŸ”§ Configuration

Backend Environment Variables

PORT=5000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
JWT_EXPIRES_IN=7d
EMAIL_HOST=smtp.gmail.com
EMAIL_USER=your_email@gmail.com
EMAIL_PASSWORD=your_app_password
ADMIN_EMAIL=admin@pixeloria.com
ADMIN_PASSWORD=admin123
FRONTEND_URL=http://localhost:5173

Frontend Environment Variables

VITE_API_URL=http://localhost:5000/api

πŸ“– API Documentation

Once the backend is running, visit:

  • Swagger Docs: http://localhost:5000/api-docs
  • API Base URL: http://localhost:5000/api

πŸ” Admin Access

Default Admin Credentials:

  • Email: chetanagarwal1302@gmail.com
  • Password: admin123

Admin Features:

  • Calculator submission management
  • User management
  • Content management
  • Analytics dashboard
  • System configuration

πŸ§ͺ Testing

Cost Estimator Flow

  1. Visit /cost-estimator
  2. Click "Start Calculator"
  3. Select project type
  4. Configure pages and features
  5. Choose design complexity and timeline
  6. Enter contact information
  7. Submit and receive estimate

Admin Dashboard

  1. Login at /admin/login
  2. View calculator submissions
  3. Click "View Details" to see formatted reports
  4. Manage users and system settings

πŸš€ Deployment

The application is configured for deployment on:

  • Frontend: Netlify, Vercel
  • Backend: Railway, Heroku, DigitalOcean
  • Database: MongoDB Atlas

See netlify.toml and vercel.json for deployment configurations.

πŸ“ Development Notes

Port Management

  • Backend automatically finds available port (5000 or 50001+)
  • Frontend API calls adapt to backend port
  • Check console logs for actual running ports

Authentication

  • JWT tokens stored in localStorage/sessionStorage
  • Admin routes protected with middleware
  • Token expiration handled gracefully

Database

  • MongoDB with Mongoose ODM
  • Automatic sample data creation
  • User roles: admin, editor, viewer

🀝 Contributing

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

πŸ“„ License

This project is licensed under the MIT License.

πŸ“ž Support

For support and questions:


Built with ❀️ by the Pixeloria Team

βœ… Recently Completed Features

Calculator Management System

  • βœ… Complete calculator admin portal with submission management
  • βœ… PDF export functionality for client quotes
  • βœ… Dynamic calculator configuration (project types, features, design options)
  • βœ… Real-time cost calculation with admin-defined pricing
  • βœ… Analytics dashboard for calculator usage tracking

Real-Time Chat System

  • βœ… Dual-mode chat widget (AI + Live Admin support)
  • βœ… 4 AI model integrations: Groq, OpenAI, DeepSeek, Gemini
  • βœ… Admin-configured AI models with secure API key management
  • βœ… User data collection (name, email, country) within chat flow
  • βœ… Real-time message synchronization (2-second polling)
  • βœ… Admin-to-user and user-to-admin message delivery
  • βœ… Message persistence and chat history
  • βœ… PDF export for chat conversations
  • βœ… Admin LiveChat interface with real-time updates
  • βœ… WebSocket-ready architecture for future enhancements

Content Management

  • βœ… Home page content management (Pixeloria Edge numbers, featured case studies)
  • βœ… About page content management (team members, journey milestones)
  • βœ… Dynamic content loading from admin portal to main website

πŸ”§ Future Development Tasks

  1. Advanced chat features (file sharing, emoji reactions)
  2. Chat analytics and reporting
  3. Mobile app integration
  4. Advanced AI model configurations and fine-tuning
  5. WebSocket upgrade from polling for enhanced performance

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors