Live Site URL: https://jobtica.netlify.app
Admin Email: admin@email.com
Admin Password: admin1234
- 🧑💼 Role-based Authentication using Firebase (Employee, HR, Admin)
- 🔐 Protected Routes for all dashboards with JWT Middleware on Backend
- 📋 Employee Work Sheet System – Submit, Edit, Delete, and Track Work
- 💸 HR Salary Management – Verify Employees, Pay Requests, View Progress
- 🧑💻 Admin Panel – Promote to HR, Fire Employees, Adjust Salaries
- 💰 Secure Payment System – Stripe Payment Gateway Integration
- 📊 Chart Visualization – Salary vs. Month Chart for Employees
- 📦 Dynamic Dashboard Layout – Conditional View based on Role
- 📨 Contact Page – Visitor message sending system to Admin
- 🧠 Responsive Design – Fully optimized for Mobile, Tablet, and Desktop
- Frontend: React, TailwindCSS, React Router, ShadCN UI, React Hook Form, React Toastify
- Backend: Express.js, MongoDB, Firebase Admin SDK, JWT
- Auth: Firebase Email/Password & Google Social Login
- Data Fetching: TanStack Query (GET operations)
- Charts & Tables: Recharts, TanStack Table
- Image Upload: ImgBB
- Payment: Stripe API
- 🧾 Registration with Email/Password + Role Selection (No Admin in dropdown)
- 🖼️ Image upload for profile (via ImgBB)
- 📂 Fire-based login prevention after termination (without deleting from Firebase)
- 🧾 SweetAlert/Toast for all operations (No browser alert)
- 📥 Payment History with Pagination (for Employees)
- 🗃️ Role-specific Dashboard Routing with Conditional UI
- 🛡️ Secure Middleware for role checking (Firebase token + Role verification)
Follow these steps to set up the project on your local machine:
# 1️⃣ Clone the repository
git clone https://github.com/JanayedHossain/Jobtica-Client.git
# 2️⃣ Install dependencies
npm install
# 3️⃣ Create a .env file in the root directory and add your environment variables
VITE_FIREBASE_API_KEY=your_firebase_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain
VITE_FIREBASE_PROJECT_ID=your_firebase_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket
VITE_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id
VITE_FIREBASE_APP_ID=your_firebase_app_id
# 4️⃣ Start the development server
npm run dev