A web application where employers can create projects, and freelancers can carry out these projects.
- Fully responsive design styled with Tailwind CSS
- Built with a real backend API
- Phone number and OTP-based authentication
- Role-based authorization (Admin, Owner, Freelancer)
- Form validation using React Hook Form
- Data fetching handled with React Query
Key packages used in this project:
- headlessui/react: Accessible, unstyled components for custom UI design.
- tanstack/react-query: Manages server-side data with caching and synchronization.
- axios: HTTP client for making API requests.
- query-string: Parses and stringifies URL query strings.
- react-hook-form: Manages form state and validation with React Hooks.
- react-hot-toast: Customizable toast notifications for React.
- react-icons: Collection of popular icons for React projects.
- react-loader-spinner: Loading spinners for data-fetching states.
- react-multi-date-picker: Select multiple dates with a customizable date picker.
- react-otp-input: Customizable input for OTP (One-Time Password) fields.
- react-router-dom: Routing and navigation for React applications.
- react-tag-input-component: Tag input component for managing multiple tags.
public/
- Contains static assets and public files.Fonts/
- Fonts used in the project.Images/
- Images used in the project.
src/
- Contains the main source code for the project.Contexts/
- Provides dynamic props for use across multiple components.Features/
- Components representing the project's main features.Hooks/
- Custom hooks used throughout the project.Pages/
- Different pages/routes in the application.Services/
- API service files for data fetching.UI/
- Reusable UI components frequently used in the project.Utils/
- Utility functions shared across the application.
Special thanks to Saheb Mohammadi for developing the backend of this project.
For any questions or feedback, please reach out at ghasemi84mahdi@gmail.com.
Thank you for using the Freelancing App!