https://github.com/anashany2193/fixithub
This project allows users to browse products, request repairs, and interact with service providers. Service providers can bid on repair requests, sell spare parts, and more!
https://github.com/anashany2193/fixithub
cloudinary concurrency mongodb node nodemailer react react-query
Last synced: 4 months ago
JSON representation
This project allows users to browse products, request repairs, and interact with service providers. Service providers can bid on repair requests, sell spare parts, and more!
- Host: GitHub
- URL: https://github.com/anashany2193/fixithub
- Owner: AnasHany2193
- Created: 2025-01-21T15:11:35.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-28T13:47:29.000Z (about 1 year ago)
- Last Synced: 2025-06-28T14:37:58.602Z (about 1 year ago)
- Topics: cloudinary, concurrency, mongodb, node, nodemailer, react, react-query
- Language: JavaScript
- Homepage:
- Size: 52.6 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# FixItHub
[](https://github.com/AnasHany2193/FixItHub/stargazers)
[](https://github.com/AnasHany2193/FixItHub/network)
[](https://github.com/AnasHany2193/FixItHub/issues)
## ๐ Overview
Welcome to **FixItHub**, a dynamic full-stack web platform that connects customers with skilled workers for repair services and powers a vibrant marketplace for products! Hosted at [FixItHub GitHub](https://github.com/AnasHany2193/FixItHub), FixItHub offers a seamless experience for managing repair requests, selling products, and overseeing platform operations. With role-based access for customers, workers, and admins, it ensures tailored functionality for each user. Featuring a sleek, portfolio-style interface with smooth animations, FixItHub is built for usability and scalability. Whether you're fixing a broken appliance or shopping for tools, FixItHub has you covered! ๐
## ๐ Features
### ๐ฅ User Management
- **Authentication & Authorization**: Secure registration and login using JWT-based authentication ๐.
- **Role-Based Access**: Supports three rolesโcustomers, workers, and adminsโwith specific permissions for each.
- **Profile Management**: Users can update personal details, including avatars, addresses, social media links, and worker-specific information like skills and certifications โ๏ธ.
- **Public Profiles**: Customers can view worker profiles (skills, ratings), and workers can view customer profiles (ratings, bio), with role-based restrictions ๐.
### ๐ ๏ธ Repair Services
- **Repair Requests**: Customers submit detailed requests with descriptions and images, trackable at `/repairs/history` ๐.
- **Worker Applications**: Workers apply with skills, certifications, and work history, pending admin approval at `/admin/users` โ
.
- **Assignment Options**: Supports auction-style bidding (`/repairs/auctions`) and direct offers (`/repairs/direct-offers`) for flexible repair assignments ๐ฐ.
- **Repair Tracking**: Real-time status updates (e.g., "Awaiting Assignment", "Completed") โณ.
- **Reviews**: Customers rate and review workers post-service, enhancing trust โญ.
### ๐ Marketplace
- **Product Listings**: Workers list items with images, descriptions, and prices at `/marketplace/new-product` ๐ท๏ธ.
- **Shopping**: Customers browse, filter, and purchase products at `/marketplace/products` ๐๏ธ.
- **Cart & Favorites**: Add items to cart or favorites for easy access โค๏ธ.
- **Order Management**: Track order statuses (e.g., "Pending", "Shipped") at `/marketplace/orders` ๐ฆ.
- **Reviews**: Rate and review purchased products to share feedback ๐.
### ๐ฅ๏ธ Admin Panel
- **Dashboard**: Displays system-wide stats (users, repairs, products, orders, reviews) and recent activities at `/admin-dashboard` ๐.
- **User Management**: Admins can ban, activate, or approve worker applications at `/admin/users` ๐ฎ.
- **Content Oversight**: Manage repairs (`/admin/repairs`), products (`/admin/products`), orders (`/admin/orders`), and reviews (`/admin/reviews`) with delete capabilities ๐๏ธ.
- **Logs**: Track admin actions (e.g., user bans, content deletions) at `/admin/logs` for transparency ๐.
### ๐จ Additional Features
- **Responsive Design**: Optimized for mobile and desktop with Tailwind CSS ๐ฑ๐ป.
- **Animations**: Smooth transitions and hover effects using Framer Motion โจ.
- **File Uploads**: Supports image uploads for avatars, repair photos, and product images ๐ผ๏ธ.
- **Notifications**: Toast alerts for success and error messages ๐.
## ๐ธ Screenshots
Explore FixItHub's user interface through these screenshots, available in the [screenshots/](https://github.com/AnasHany2193/FixItHub/tree/main/screenshots) directory:
- [Customer Dashboard](https://github.com/AnasHany2193/FixItHub/blob/main/screenshots/customer-dashboard.png): View repair and order summaries ๐ฅ๏ธ.
- [Worker Dashboard](https://github.com/AnasHany2193/FixItHub/blob/main/screenshots/Customer/dashboard-light.png): Monitor active repairs and product sales ๐.
- [Admin Dashboard](https://github.com/AnasHany2193/FixItHub/blob/main/screenshots/Admin/dashboard-light.png): System stats and management tools ๐.
- [Repair Request Form](https://github.com/AnasHany2193/FixItHub/blob/main/screenshots/Customer/Repairs/1-repairs-new-light.png): Submit repair details with ease ๐ง.
- [Product Listing](https://github.com/AnasHany2193/FixItHub/blob/main/screenshots/Customer/Products/1-products-light.png): Browse marketplace products ๐.
## ๐ ๏ธ Technologies Used
| **Component** | **Technology** | **Purpose** |
| ------------- | ------------------ | ---------------------------------------- |
| **Backend** | Node.js | Server-side JavaScript runtime โ๏ธ |
| | Express.js | RESTful API framework ๐ |
| | MongoDB (Mongoose) | NoSQL database with schema management ๐๏ธ |
| | JWT | Secure authentication tokens ๐ |
| | Bcrypt | Password hashing ๐ |
| | Validator | Input validation (emails, URLs) โ
|
| | Local Storage | Image uploads ๐ธ |
| **Frontend** | React | Dynamic user interfaces โ๏ธ |
| | React Router | Client-side navigation ๐งญ |
| | Tailwind CSS | Utility-first styling ๐จ |
| | shadcn/ui | Reusable UI components ๐งฉ |
| | Framer Motion | Smooth animations ๐ |
| | React Query | Data fetching and caching โก |
| | Axios | API requests ๐ก |
| | Lucide React | Icon library ๐ฏ |
| **Dev Tools** | Git | Version control ๐๏ธ |
| | ESLint, Prettier | Code linting and formatting ๐งน |
## ๐ฆ Installation
To run FixItHub locally:
1. **Clone the Repository**:
```bash
git clone https://github.com/AnasHany2193/FixItHub.git
cd FixItHub
```
2. **Install Dependencies**:
```bash
npm install
```
3. **Set Up Environment Variables**:
- Create a `.env` file in the root:
```env
MONGO_URI=mongodb://localhost:27017/fixithub
JWT_SECRET=your_jwt_secret_key
BASE_URL=http://localhost:5000
```
- Ensure MongoDB is running locally or use [MongoDB Atlas](https://www.mongodb.com/cloud/atlas).
4. **Start the Application**:
- Development mode:
```bash
npm run dev
```
- Production mode:
```bash
npm start
```
5. **Access the Application**:
- Open [http://localhost:5000](http://localhost:5000) in your browser ๐.
## ๐ฏ Usage
### Customers
- **Sign Up/Login**: Register at `/register` or log in at `/login`.
- **Request Repairs**: Submit details at `/repairs/new` ๐ง.
- **Browse Workers**: View profiles at `/users/:id` to check skills and ratings.
- **Shop Marketplace**: Explore products at `/marketplace/products`, add to cart, and purchase ๐.
- **Track Activity**: Monitor repairs at `/repairs/history` and orders at `/marketplace/orders`.
- **Leave Reviews**: Rate workers and products post-service or purchase โญ.
### Workers
- **Apply as Worker**: Submit skills and certifications at `/profile` ๐ ๏ธ.
- **Manage Repairs**: Accept jobs at `/repairs/auctions` or `/repairs/direct-offers`.
- **Sell Products**: List items at `/marketplace/new-product`.
- **View Customers**: Check profiles at `/users/:id`.
### Admins
- **Dashboard**: View stats and activities at `/admin-dashboard` ๐.
- **Manage Users**: Ban, activate, or approve workers at `/admin/users` ๐ฅ.
- **Oversee Content**: Handle repairs (`/admin/repairs`), products (`/admin/products`), orders (`/admin/orders`), and reviews (`/admin/reviews`).
- **View Logs**: Monitor admin actions at `/admin/logs` ๐.
## ๐ Project Structure
```
FixItHub/
โโโ backend/
โ โโโ controllers/ # API logic (e.g., userController.js)
โ โโโ models/ # Mongoose schemas (e.g., User.js)
โ โโโ routes/ # Express routes (e.g., userRoutes.js)
โ โโโ middleware/ # Authentication and role-based middleware
โ โโโ utils/ # Utilities (e.g., localImageUpload.js)
โโโ frontend/
โ โโโ src/
โ โ โโโ api/ # API clients (e.g., user.js)
โ โ โโโ components/ # Reusable UI components (e.g., HeaderPages.jsx)
โ โ โโโ hooks/ # React Query hooks (e.g., useUser.js)
โ โ โโโ pages/ # Page components (e.g., UserProfilePage.jsx)
โ โ โโโ layouts/ # Layout components (e.g., DashboardLayout.jsx)
โ โ โโโ context/ # Context providers (e.g., AuthContext.js)
โโโ screenshots/ # UI screenshots (e.g., customer-dashboard.png)
โโโ .env # Environment variables
โโโ package.json # Dependencies and scripts
โโโ README.md # Project documentation
```
## ๐ค Contributing
We welcome contributions to FixItHub! To get started:
1. **Fork the Repository**:
```bash
git clone https://github.com/AnasHany2193/FixItHub.git
```
2. **Create a Branch**:
```bash
git checkout -b feature/your-cool-idea
```
3. **Make Changes**:
- Write clean, documented code.
- Follow ESLint and Prettier standards.
- Add tests for new features or fixes.
4. **Commit Changes**:
- Use conventional commits (e.g., `feat: add new feature`, `fix: resolve bug`).
```bash
git commit -m "feat: add my cool idea ๐"
```
5. **Submit a Pull Request**:
- Push your branch and create a pull request at [GitHub Pull Requests](https://github.com/AnasHany2193/FixItHub/pulls).
- Provide a clear description of your changes.
## ๐ฅ Team Members
| Role | Team Member | Focus Area |
| ----------------- | ---------------------------------------------------- | ----------------------- |
| ๐จ UI/UX Designer | [Mariam Zaki](https://github.com/maryem-zaky) | User Experience Design |
| ๐ป Frontend Dev | [Afnan Raafat](https://github.com/afnan-raafat) | React Implementation |
| ๐ฑ Mobile Dev | [Islam Sobhi](https://github.com/Islam-Sobhy-Yousof) | Flutter Applications |
| ๐ Full Stack Dev | [Anas Hany](https://github.com/AnasHany2193) | MERN Stack Architecture |
---
**Made with โฅ by Team FixItHub**
_Empowering repairs, connecting communities_