A full-featured web application built with React, featuring user authentication, admin dashboard, file management, and service handling.
-
User Authentication
- Register & Login functionality
- Profile management with avatar upload
- Password update capabilities
- JWT-based authentication
-
Admin Dashboard
- User management
- Service management
- Contact form responses
- Query approval system
-
File Management
- File upload functionality
- Status tracking (Approved/Pending)
- Image preview and download
- Secure file handling
-
Service Management
- Service listing
- Service details view
- Admin service CRUD operations
- Price and provider management
- React.js - UI library
- Vite - Build tool and development server
- Tailwind CSS - Utility-first CSS framework
- React Router Dom (v6) - Client-side routing
- React Icons - Icon components
- React Toastify - Toast notifications
- React Context API - Global state management
- JWT - Token-based authentication
- localStorage - Client-side storage
- File API - File handling and uploads
- URL API - URL handling and preview
- ESLint - Code linting
- Prettier - Code formatting
- npm - Package management
- dotenv - Environment variable management
- HTTP-Only Cookies - Secure token storage
- CORS - Cross-Origin Resource Sharing
- Responsive design
- Dark/Light theme support
- Modern glassmorphism effects
- Interactive loading states
- Form validation
- Error handling
client/
βββ src/
β βββ components/
β β βββ Layouts/
β β β βββ Pages/ # Admin dashboard pages
β β β βββ components/ # Reusable admin components
β β βββ Navbar.jsx # Main navigation
β βββ pages/ # Main application pages
β βββ store/ # Auth context and state management
β βββ json/ # Static configuration files
βββ public/ # Static assets
- Clone the repository
- Install dependencies:
npm install
- Create a
.envfile with:VITE_BASE_URL=your_backend_url - Start the development server:
npm run dev
VITE_BASE_URL: Backend API URL
The application uses JWT tokens for authentication. Tokens are stored in LocalStorage and managed through the Auth context.
-
Regular Users
- Can view services
- Upload files
- Update profile
- Contact support
-
Administrators
- Full CRUD operations
- User management
- Query approval
- Service management
The application uses Tailwind CSS for styling with a dark theme option and modern UI components.
All API calls are made to the backend specified in the VITE_BASE_URL environment variable.
- Uses React Context API for auth state
- Local state management with useState
- Form handling with controlled components
MIT License
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request