Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ahmad-nour-haidar/profinder-mobile-app
ProFinder is a platform connecting professionals with clients, offering secure transactions, project tracking, and job opportunities. It features a user-friendly design for efficient and transparent collaboration and management.
https://github.com/ahmad-nour-haidar/profinder-mobile-app
bloc chat clean-architecture cubit cubit-bloc dart firebase flutter flutter-apps freelancers getx google-auth google-sign-in jobs localization notifications rest-api socket-io ui wallet
Last synced: about 1 month ago
JSON representation
ProFinder is a platform connecting professionals with clients, offering secure transactions, project tracking, and job opportunities. It features a user-friendly design for efficient and transparent collaboration and management.
- Host: GitHub
- URL: https://github.com/ahmad-nour-haidar/profinder-mobile-app
- Owner: Ahmad-Nour-Haidar
- License: mit
- Created: 2024-09-03T07:25:07.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-09-06T18:00:28.000Z (2 months ago)
- Last Synced: 2024-10-09T18:04:54.352Z (about 1 month ago)
- Topics: bloc, chat, clean-architecture, cubit, cubit-bloc, dart, firebase, flutter, flutter-apps, freelancers, getx, google-auth, google-sign-in, jobs, localization, notifications, rest-api, socket-io, ui, wallet
- Homepage:
- Size: 13.3 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# **ProFinder** ๐ฅ
## ๐ Table of Contents
- [๐ Product Links](#-product-links)
- [๐ฆ Flutter Packages](#-flutter-packages)
- [๐ Intro](#-intro)
- [๐ Main Sections](#-main-sections)
- [โจ Noteworthy Features](#-noteworthy-features)
- [๐ ProFinder Overview](#-profinder-overview)
- [โ๏ธ Languages & Frameworks & Tools](#-languages--frameworks--tools)
- [๐ฅ Team Members](#-team-members)
- [๐ License](#-license)
- [๐ผ๏ธ Project Preview](#-project-preview)## ๐ Product Links
[//]: # (- **๐ฑ Android App:** [Download on Google Play](https://play.google.com/store/apps/details?id=com.example.app))
- **๐ฑ Android App:** [Download on Telegram](https://t.me/profinder_mobile_app/3)
- **๐ฅ๏ธ Web App:** [Access the Web App](https://profinder-dashboard.web.app/)## ๐ฆ Flutter Packages
[![animated_text_kit](https://img.shields.io/badge/Animated_Text_Kit-%5E4.2.2-blue?color=FF6347)](https://pub.dev/packages/animated_text_kit)
[![animate_do](https://img.shields.io/badge/Animate_Do-%5E3.3.4-blue?color=FFD700)](https://pub.dev/packages/animate_do)
[![app_links](https://img.shields.io/badge/App_Links-%5E6.2.0-blue?color=87CEEB)](https://pub.dev/packages/app_links)
[![audioplayers](https://img.shields.io/badge/Audioplayers-%5E6.0.0-blue?color=1DB954)](https://pub.dev/packages/audioplayers)
[![awesome_notifications](https://img.shields.io/badge/Awesome_Notifications-%5E0.9.3%2B1-bluecolor=FF4500)](https://pub.dev/packages/awesome_notifications)
[![badges](https://img.shields.io/badge/Badges-%5E3.1.2-blue?color=DC143C)](https://pub.dev/packages/badges)
[![build_runner](https://img.shields.io/badge/Build_Runner-%5E2.4.9-blue?color=00CED1)](https://pub.dev/packages/build_runner)
[![cached_network_image](https://img.shields.io/badge/Cached_Network_Image-%5E3.3.1-blue?color=4682B4)](https://pub.dev/packages/cached_network_image)
[![connectivity_plus](https://img.shields.io/badge/Connectivity_Plus-%5E6.0.5-blue?color=00BFFF)](https://pub.dev/packages/connectivity_plus)
[![country_picker](https://img.shields.io/badge/Country_Picker-%5E2.0.26-blue?color=008080)](https://pub.dev/packages/country_picker)
[![crypto](https://img.shields.io/badge/Crypto-%5E3.0.5-blue?logo=cryptpad&logoColor=0087FF)](https://pub.dev/packages/crypto)
[![currency_picker](https://img.shields.io/badge/Currency_Picker-%5E2.0.21-blue?color=32CD32)](https://pub.dev/packages/currency_picker)
[![cupertino_icons](https://img.shields.io/badge/Cupertino_Icons-%5E1.0.6-blue?logo=apple&logoColor=000000)](https://pub.dev/packages/cupertino_icons)
[![dartz](https://img.shields.io/badge/Dartz-%5E0.10.1-blue?logo=dart&logoColor=0175C2)](https://pub.dev/packages/dartz)
[![dio](https://img.shields.io/badge/Dio-%5E5.4.3%2B1-green?color=32CD32)](https://pub.dev/packages/dio)
[![dotted_border](https://img.shields.io/badge/Dotted_Border-%5E2.1.0-blue?color=FF6347)](https://pub.dev/packages/dotted_border)
[![encrypt](https://img.shields.io/badge/Encrypt-%5E5.0.3-blue?logo=cryptpad&logoColor=0087FF)](https://pub.dev/packages/encrypt)
[![equatable](https://img.shields.io/badge/Equatable-%5E2.0.5-blue?color=708090)](https://pub.dev/packages/equatable)
[![file_picker](https://img.shields.io/badge/File_Picker-%5E8.0.3-blue?logo=files&logoColor=4285F4)](https://pub.dev/packages/file_picker)
[![firebase_core](https://img.shields.io/badge/Firebase_Core-%5E3.3.0-blue?logo=firebase&logoColor=DD2C00)](https://pub.dev/packages/firebase_core)
[![firebase_messaging](https://img.shields.io/badge/Firebase_Messaging-%5E15.0.4-blue?logo=firebase&logoColor=DD2C00)](https://pub.dev/packages/firebase_messaging)
[![fl_chart](https://img.shields.io/badge/FL_Chart-%5E0.68.0-blue?logo=chartdotjs&logoColor=FF6384)](https://pub.dev/packages/fl_chart)
[![flutter_bloc](https://img.shields.io/badge/Flutter_Bloc-%5E8.1.5-blue?logo=flutter&logoColor=0000FF&color=0000FF)](https://pub.dev/packages/flutter_bloc)
[![flutter_chat_bubble](https://img.shields.io/badge/Flutter_Chat_Bubble-%5E2.0.2-blue?logo=wechat&logoColor=07C160)](https://pub.dev/packages/flutter_chat_bubble)
[![flutter_dotenv](https://img.shields.io/badge/Flutter_Dotenv-%5E5.1.0-blue?logo=dotenv&logoColor=ECD53F)](https://pub.dev/packages/flutter_dotenv)
[![flutter_linkify](https://img.shields.io/badge/Flutter_Linkify-%5E6.0.0-blue?color=4682B4)](https://pub.dev/packages/flutter_linkify)
[![flutter_rating_bar](https://img.shields.io/badge/Flutter_Rating_Bar-%5E4.0.1-blue?color=FFD700)](https://pub.dev/packages/flutter_rating_bar)
[![flutter_spinkit](https://img.shields.io/badge/Flutter_Spinkit-%5E5.2.1-blue?color=FF4500)](https://pub.dev/packages/flutter_spinkit)
[![flutter_speed_dial](https://img.shields.io/badge/Flutter_Speed_Dial-%5E7.0.0-blue?color=4B0082)](https://pub.dev/packages/flutter_speed_dial)
[![flutter_svg](https://img.shields.io/badge/Flutter_SVG-%5E2.0.10%2B1-blue?logo=svg&logoColor=FFB13B)](https://pub.dev/packages/flutter_svg)
[![fluttertoast](https://img.shields.io/badge/Fluttertoast-%5E8.2.5-blue?color=D2691E)](https://pub.dev/packages/fluttertoast)
[![freezed](https://img.shields.io/badge/Freezed-%5E2.5.2-blue?color=0000FF)](https://pub.dev/packages/freezed)
[![freezed_annotation](https://img.shields.io/badge/Freezed_Annotation-%5E2.4.1-blue?color=0000FF)](https://pub.dev/packages/freezed_annotation)
[![gap](https://img.shields.io/badge/Gap-%5E3.0.1-blue?color=FFD700)](https://pub.dev/packages/gap)
[![get](https://img.shields.io/badge/Get-%5E4.6.6-blue?logo=getx&logoColor=8A2BE2&color=8A2BE2)](https://pub.dev/packages/get)
[![get_it](https://img.shields.io/badge/Get_It-%5E7.7.0-blue?color=00CED1)](https://pub.dev/packages/get_it)
[![go_router](https://img.shields.io/badge/Go_Router-%5E13.2.4-blue?color=4682B4)](https://pub.dev/packages/go_router)
[![google_sign_in](https://img.shields.io/badge/Google_Sign_In-%5E6.2.0-blue?logo=google&logoColor=4285F4)](https://pub.dev/packages/google_sign_in)
[![hive](https://img.shields.io/badge/Hive-%5E2.2.3-yellow?color=FFA500)](https://pub.dev/packages/hive)
[![hive_flutter](https://img.shields.io/badge/Hive_Flutter-%5E1.1.0-yellow?color=FFA500)](https://pub.dev/packages/hive_flutter)
[![hive_generator](https://img.shields.io/badge/Hive_Generator-%5E2.0.1-blue?color=00CED1)](https://pub.dev/packages/hive_generator)
[![image_picker](https://img.shields.io/badge/Image_Picker-%5E1.1.1-blue?color=FF4500)](https://pub.dev/packages/image_picker)
[![intl](https://img.shields.io/badge/Intl-%5E0.19.0-blue?color=FFA07A)](https://pub.dev/packages/intl)
[![intl_phone_field](https://img.shields.io/badge/Intl_Phone_Field-%5E3.2.0-blue?color=FFD700)](https://pub.dev/packages/intl_phone_field)
[![jiffy](https://img.shields.io/badge/Jiffy-%5E6.2.1-blue?color=FF6347)](https://pub.dev/packages/jiffy)
[![json_annotation](https://img.shields.io/badge/JSON_Annotation-%5E4.9.0-blue?logo=json&logoColor=000000)](https://pub.dev/packages/json_annotation)
[![json_serializable](https://img.shields.io/badge/JSON_Serializable-%5E6.8.0-blue?logo=json&logoColor=000000)](https://pub.dev/packages/json_serializable)
[![lottie](https://img.shields.io/badge/Lottie-%5E3.1.2-blue?color=32CD32)](https://pub.dev/packages/lottie)
[![media_scanner](https://img.shields.io/badge/Media_Scanner-%5E2.1.0-blue?color=FF6347)](https://pub.dev/packages/media_scanner)
[![path](https://img.shields.io/badge/Path-%5E1.9.0-blue?color=87CEEB)](https://pub.dev/packages/path)
[![path_provider](https://img.shields.io/badge/Path_Provider-%5E2.1.3-blue?color=87CEEB)](https://pub.dev/packages/path_provider)
[![permission_handler](https://img.shields.io/badge/Permission_Handler-%5E11.3.1-blue?color=FF6347)](https://pub.dev/packages/permission_handler)
[![photo_view](https://img.shields.io/badge/Photo_View-%5E0.15.0-blue?color=1E90FF)](https://pub.dev/packages/photo_view)
[![readmore](https://img.shields.io/badge/Readmore-%5E3.0.0-blue?color=FFD700)](https://pub.dev/packages/readmore)
[![reorderable_grid](https://img.shields.io/badge/Reorderable_Grid-%5E1.0.10-blue?color=00CED1)](https://pub.dev/packages/reorderable_grid)
[![shimmer](https://img.shields.io/badge/Shimmer-%5E3.0.0-blue?color=FFD700)](https://pub.dev/packages/shimmer)
[![smooth_page_indicator](https://img.shields.io/badge/Smooth_Page_Indicator-%5E1.1.0-blue?color=FF4500)](https://pub.dev/packages/smooth_page_indicator)
[![socket_io_client](https://img.shields.io/badge/Socket_IO_Client-%5E3.0.0--beta.2-blue?logo=socketdotio&logoColor=010101)](https://pub.dev/packages/socket_io_client)
[![url_launcher](https://img.shields.io/badge/URL_Launcher-%5E6.2.6-blue?color=00BFFF)](https://pub.dev/packages/url_launcher)
[![uuid](https://img.shields.io/badge/UUID-%5E4.4.2-blue?color=FFD700)](https://pub.dev/packages/uuid)
[![visibility_detector](https://img.shields.io/badge/Visibility_Detector-%5E0.4.0%2B2-blue?color=FF6347)](https://pub.dev/packages/visibility_detector)## ๐ Intro
**ProFinder** is a platform that connects professionals with clients to create valuable work
opportunities. ๐ค Whether you're seeking freelance gigs, looking to hire experts, or aiming to
collaborate with professionals, ProFinder offers a robust system that ensures the rights of both
parties. ๐ผ๐ The app provides a powerful mechanism for secure transactions ๐, a comprehensive search
for companies ๐ข, and a way to enhance your profile by sharing your CV ๐ to increase job
opportunities. It also features a beautiful and eye-catching design that makes navigation easy and
enjoyable.
๐ Start using ProFinder today to unlock new possibilities! โจ## ๐ Main Sections
- ๐ **Multi-level Login System**
*Manage users at various levels including Admin and Super Admin.*- ๐ฏ **User Interests and Recommendations**
*Manage user interests and receive tailored recommendations.*- ๐ **Comprehensive Profile Management**
*Create and manage a detailed user profile with all necessary information.*- ๐ฅ **Follow System**
*Users can follow other users and be followed, enhancing interaction.*- ๐ข **Company Creation and Management**
*Create, edit, and manage companies and their job postings.*- ๐ผ **Job Creation and Applications**
*Companies can create job opportunities, and users can apply for these jobs.*- ๐จ๏ธ **Post Creation and Interaction**
*Create posts, comment, like, and save posts in the platform.*- ๐ต **Wallet Management**
*Manage currency transfers and keep track of transactions.*- ๐ ๏ธ **Freelance Projects**
*Create and apply for freelance projects.*- ๐ **Contract Creation**
*Create contracts for freelance projects to ensure mutual agreement and clear terms.*- ๐ **Advanced Notification System**
*Receive and manage notifications for various activities and updates.*- ๐ฌ **User-to-User Chat**
*Communicate directly with other users to finalize agreements and discuss opportunities.*- ๐จ **Reporting System**
*Report posts, companies, users, job opportunities, or freelance projects.*- ๐ **Support Center Communication**
*Contact the support center for assistance with any issues.*- ๐ก๏ธ **Protection**
*Several levels of protection have been applied to ensure a secure user experience, safeguarding
both data and financial transactions.*## โจ Noteworthy Features
- ๐ **Advanced Filtering Operations:**
*Empower users with robust filtering capabilities, allowing them to sort any field within a table
in ascending or descending order, perform searches within specific fields, and retrieve data
across defined time periods. This feature offers a wide range of filtering options to enhance data
management and accessibility.*- ๐ **Expert Notification System:**
*A sophisticated notification system that intelligently responds to user activity. Notifications
are automatically paused when the user becomes inactive within the application, maintaining a
streamlined structure and optimizing resource usage for efficient performance.*- ๐ฌ **Real-Time Conversation:**
*Enhance communication by indicating the userโs statusโwhether online or offline. This feature
includes comprehensive message status indicators, such as sent, delivered, and read. The
conversation system is designed to scale, providing reliable and fluid communication across the
platform.*- ๐จ๏ธ **Profile & Contract Printing:**
*Users can print their profile as a CV for job applications both within and outside the platform.
Additionally, the ability to print contracts between customers and employers is provided, ensuring
that both partiesโ rights are clearly documented and protected.*- ๐ฐ **Secure Money Transfer:**
*The application features a secure wallet that safeguards user transactions. When a freelance job
request is made, the payment is initially held in the applicationโs wallet. Upon task completion
and subsequent admin approval, the funds are securely transferred to the intended recipient,
ensuring a trustworthy transaction process.*- ๐ **Google Login Integration:**
*Enhance security and convenience with seamless login through Google, offering users an easy and
reliable authentication method.*- โญ **Freelancer Evaluation:**
*Users have the ability to evaluate freelancers based on their work and project execution. This
feature ensures transparency and helps future clients make informed decisions when choosing a
freelancer.*- #๏ธโฃ **Hashtag Integration:**
*Hashtags have been implemented to improve content discoverability. Users can easily search for
and find posts by using relevant hashtags, making navigation more efficient.*- ๐ฏ **Suggested Posts Based on User Interests:**
*The platform intelligently suggests posts to users based on their interests, providing a more
personalized and engaging experience by showcasing content that aligns with their preferences.*- ๐ธ **Image Compression:**
*The application includes a feature to compress images while maintaining high quality. This
ensures that images are optimized for performance without significant loss of visual fidelity.*- ๐ **Translation Feature:**
*Messages returned from responses and notifications are translated, allowing users to view content
and updates in their preferred language.*- **Statistics ๐**
*The Statistics section empowers administrators with detailed visibility into the application's
activities, providing crucial data to track high-demand areas and monitor user interactions.*# ๐ ProFinder Overview
Our application features a sophisticated **Multi-Level Login System** that categorizes users into
various roles, each with distinct responsibilities and permissions:### ๐ค **Regular User**
Regular users enjoy a variety of functionalities designed to enhance their experience within the
app. These include:- **Login Options:** Users can log in using their email or through Google for added convenience ๐.
- **Post Management:** They can create, edit, and delete posts ๐ข, as well as comment on posts and
delete their comments ๐ฌ.- **Project Interaction:** Users have the ability to publish their own projects and apply for
projects
created by others ๐.- **Company Creation:** Users can request to create a company, which becomes active after admin
approval ๐ข. Once approved, they can publish posts and create job listings within their company ๐.- **Diverse Activities:** A wide range of other activities are available to users, providing a
rich
and interactive experience within the application.### ๐ ๏ธ **Admin**
Admins possess broader permissions and are responsible for managing various aspects of the platform:
- **User Management:** Admins can search, filter, delete, and ban users based on their behavior ๐ง.
- **Monitoring & Moderation:** They oversee user reports and all user-related activities, ensuring
compliance with platform standards ๐ก๏ธ.- **Admin Levels :**
1. **๐ณ Wallet Manager**
- **Responsibilities:** Oversees all financial
transactions within the platform. This includes managing wallet operations, handling
deposits and withdrawals, and ensuring financial transactions are processed securely and
accurately ๐.2. **๐ข Company Manager**
- **Responsibilities:** Manages all aspects related to
company operations. This includes overseeing the creation and management of company
accounts, ensuring compliance with company guidelines, and handling any issues related to
company activities ๐.3. **๐จโ๐ผ Freelancer Manager**
- **Responsibilities:** Focuses on managing freelance
projects and interactions. Oversees freelancer profiles, project applications, and ensures
that freelance engagements are conducted smoothly. Also addresses any issues related to
freelancer performance and project execution ๐.4. **๐ ๏ธ Technical Support**
- **Responsibilities:** Provides support for technical
issues and user inquiries. Handles troubleshooting, resolves technical problems, and
ensures that the platformโs technical operations run efficiently and effectively ๐ฌ.
Additionally, responds to messages from users experiencing problems, offering assistance
and guidance through chat interactions.### **๐ Super Admin**
Super Admins hold the highest level of authority within the application, managing the admins and
overall system functionalities:- **Admin Management:** Super Admins can create, delete, ban, or modify admin permissions ๐ฉโ๐ผ.
- **Ultimate Control:** With complete oversight, Super Admins have the power to manage every aspect
of the application, ensuring that it runs smoothly and efficiently โ๏ธ.---
User interests are crucial as they allow users to specify their preferences ๐ก. This helps in
discovering content that aligns with their interests ๐, displaying posts ๐ and job opportunities ๐ผ
that are suitable and relevant to them.
Users can add, edit, and delete multiple interests on their profiles. This customization ensures
they receive personalized content, including suggested posts and job opportunities that match their
interests. Additionally, users can publish jobs or suggest positions that align with their skills or
preferences, enhancing the relevance of job matches and content suggestions.---
Our platform offers a robust profile management system ๐, allowing users to present their
professional and personal information in a detailed and organized manner.- **๐ Address:**
*Provides detailed information about the user's geographical location.*- **๐ Certifications:**
*Showcase various certificates that validate skills and achievements.*- **๐ Education:**
*Lists the stages of education completed, including details of institutions and dates.*- **๐ Projects:**
*Highlights personal projects undertaken, demonstrating experience and expertise.*- **๐ ๏ธ Skills:**
*Details the skills possessed, categorized by type or relevance.*- **๐ Languages:**
*Displays the languages the user is proficient in.*- **๐ Social Media Links:**
*Provides links to social media profiles for networking and professional connections.*- **๐ผ Work Experience:**
*Describes experience gained from working in various companies or professional environments.*- **๐ CV Upload:**
*Allows users to upload their CV directly to their profile.*- **๐ Personal Information:**
*Includes the user's full name, date of birth, bio, phone, and gender.*---
*The Follow System empowers users to build meaningful connections by following others. ๐ This
feature allows users to stay updated with the latest posts, activities, and interactions from those
they follow ๐. By fostering a more interactive and engaged community ๐, it helps users remain
connected with the latest happenings in their network ๐.**Users can follow anyone on the platform and view both their own followers and the users they
follow. ๐ต๏ธโโ๏ธ This feature enhances connectivity by providing easy access to profiles and updates
from followed users ๐ค. Additionally, users receive timely notifications ๐ when someone they follow
shares new content or job postings, keeping them informed about relevant activities.* โจ---
*Users can request to establish a company by submitting necessary documentation, such as a
commercial record or other proof of legitimacy. ๐ The admin will review and verify the submitted
information to ensure the company's authenticity. โ Based on this evaluation, the request may be
approved or rejected.**Once a company is approved, the company owner can appoint supervisors to assist with managing the
company. ๐ฅ Supervisors have limited control, including tasks such as publishing posts ๐ and job
opportunities, and managing job applications. Posts can be created, modified, or deleted by both the
company owner and supervisors.**Anyone within the system can submit a request to create a company, providing all necessary details
and documentation. Once the company is established, the owner can add users as admins, who can then
publish and manage company-related jobs and posts, all while ensuring that the overall management
remains under the owner's authority. ๐*---
*In the application, a manager can easily create a job listing ๐ by submitting relevant details
through the manager interface. Once the job is live, users can explore ๐ available opportunities,
search for specific roles, view company details, and save jobs of interest ๐ผ. When a user finds a
job they want to apply for, they can submit their application by sharing their profile ๐. Managers
can then review all applications for the job, marking them as checked once reviewed โ . Users also
have full control over their job search, with options to save, unsave, or cancel their applications,
ensuring a smooth and flexible job-hunting experience ๐.*---
*Users can create posts ๐ on the platform, which can include multiple images ๐ผ๏ธ and text โ๏ธ. These
posts can be interacted with by others through comments ๐ฌ, likes โค๏ธ, and saves ๐พ, allowing for
dynamic engagement within the application. Users can also save posts for quick access later ๐.**Any user within the platform can publish, edit, or delete their posts. Posts can be composed of
text or text with images, and users can create regular posts or company-specific posts. Company
posts feature the companyโs name and image instead of the userโs name and can be published by the
company owner or any admin within the company. ๐ผ**All users can comment on posts ๐ฌ, like or unlike them โค๏ธ, and save them for future reference ๐.
This flexibility enhances the user experience by making it easier to interact with and manage posts,
whether they are personal or company-related.* ๐ ๏ธ---
The application provides robust wallet management features that cater to both administrators and
users, ensuring seamless financial transactions within the platform.**User Features:**
- ๐ฐ *Transaction History*: Users can view detailed histories of their transactions, keeping track of
all payments and receipts.
- ๐ ๏ธ *Payment Handling*: Users can easily manage payments within the platform, including making and
receiving payments.
- ๐ *Statistics Monitoring*: Users have access to various statistics related to their financial
activities, helping them stay informed about their wallet's status.**Administrator Tools:**
- ๐ก๏ธ *Advanced Controls*: Administrators can oversee and manage all wallets on the platform,
ensuring everything runs smoothly.
- ๐ซ *Suspend/Unsuspend Funds*: Admins can suspend or unsuspend funds as necessary, maintaining the
platform's integrity.
- ๐ณ *Deposit/Withdraw Funds*: Admins have the ability to deposit or withdraw funds from any wallet,
ensuring proper financial management.
- ๐ *Transaction Monitoring*: Administrators can monitor and validate all cash transactions,
ensuring they comply with the platform's standards and regulations.---
Our application provides a comprehensive suite of features for managing freelance projects, catering
to various roles such as **users**, **explorers**, and **administrators**.**User Features:**
- ๐ *Browse and Apply*: Users can easily browse available freelance projects and apply to those that
align with their skills.
- ๐ *Track Progress*: Users can monitor the status of their ongoing projects, ensuring they stay on
track.
- ๐ ๏ธ *Manage Projects*: Users have full control over their projects, with the ability to create,
update, review, and delete them as needed, allowing for a dynamic and flexible project lifecycle.**Explore Module:**
- ๐ *Search and Discover*: Users can search for projects based on their interests and expertise.
- โญ *Save Favorites*: Favorite projects can be saved for easy access later.
- ๐๏ธ *View Applications*: Users can view their applications, keeping track of where theyโve applied.
- ๐จ *Report Issues*: If thereโs a problem with a project, users can report it directly within the
system.
- โ *Unsave Projects*: If a project is no longer of interest, users can unsave it to keep their list
organized.**Administrator Tools:**
- ๐ก๏ธ *Project Oversight*: Administrators have powerful tools to oversee all freelance projects,
ensuring the platform remains a fair and efficient space for all users.
- ๐ข *Count Projects*: Track the number of ongoing and completed projects on the platform.
- ๐ซ *Block/Unblock Projects*: Administrators can block or unblock projects as necessary to maintain
quality and compliance.
- ๐ *Detailed Reports*: Admins can view detailed reports of projects, allowing for in-depth analysis
and management.---
The application offers a robust and user-friendly system for managing freelance contracts, ensuring
smooth and secure interactions among **users**, **explorers**, and **administrators**.- **Contract Creation and Management:**
- โ๏ธ *Users* can effortlessly create, update, and manage their contracts within the platform.
- ๐ *Multiple PDF Files*: The system supports the upload of multiple PDF files, making it easy
to include all necessary documentation.- **Contract Status:**
- โ *Mark as Successful*: Once a project is completed to satisfaction, users can mark contracts
as successful.
- ๐จ *File Complaints*: If issues arise, users can file complaints, which will be reviewed by
administrators.- **Administrative Oversight:**
- ๐ฎ *Administrators* have comprehensive oversight capabilities, allowing them to:
- ๐ *Resolve Disputes*: Admins can intervene to resolve disputes between parties.
- โฌ๏ธ *Download Files*: Access and download any attached files for review.
- ๐ *Monitor Activities*: Keep an eye on contract activities across the platform to ensure
compliance and transparency.- **Explore Module:**
- ๐ The explore module provides additional functionalities for users to interact with ongoing
contracts:
- โ๏ธ *Accept or Refuse*: Users can choose to accept or refuse contracts.
- ๐ *Shipping*: Users can manage the shipping of contracts as needed.
- ๐ *Access and Download*: All contract files can be accessed and downloaded easily.---
*The Advanced Notification System is designed to enhance user engagement through intelligent
notification management ๐ฒ. Key features include:*- **Activity-Based Notification Management:** ๐ต๏ธโโ๏ธ Monitors user activity and adjusts notification
delivery accordingly. Notifications are paused if a user remains inactive for up to 14 days ๐๏ธ and
will automatically resume upon reactivation ๐.- **Multilingual Support:** ๐ Provides notifications in various languages, including Arabic and
English, ensuring accessibility for a diverse user base ๐.- **Reliable Delivery:** ๐ Utilizes Firebase Admin for sending notifications, leveraging its robust
infrastructure to ensure timely and dependable communication โฐ.---
*The User-to-User Chat feature on ProFinder is designed for seamless real-time communication between
users within the application ๐ฌ. Key features include:*- **Real-Time Messaging:** โก Utilizes Socket.io for instant communication, allowing users to chat
with others in real-time โฑ๏ธ.- **Connection Status:** ๐ Tracks and displays the connection status of users, indicating whether
they are online ๐ข or offline ๐ด.- **Message Status:** ๐ฉ Provides clear indicators for message status:
- **Sent:** ๐ค Message has been sent from the sender.
- **Delivered:** ๐ฅ Message has been received by the recipient.
- **Read:** ๐๏ธ Message has been read by the recipient.- **Redis Integration:** ๐๏ธ Employs Redis to enhance storage and data retrieval operations, ensuring
quick and efficient message handling with minimal latency ๐.*The Reporting System on ProFinder empowers users to report various issues within the platform ๐จ.
Key features include:*- **User Reporting:** ๐งโ๐คโ๐ง Allows users to report other users for reasons such as inappropriate
posts ๐ซ, interactions, fraud ๐ณ, or impersonation ๐ค.- **Content Reporting:** ๐ Users can also report posts, job opportunities, companies, and other
content if they encounter issues or violations โ ๏ธ.- **Admin Review:** ๐จโ๐ผ Reports are reviewed by the admin team, who filter and assess each report to
determine its validity ๐.- **Issue Verification:** โ๏ธ Admins verify reported issues to confirm their legitimacy and take
appropriate action based on the findings ๐.- **Action and Resolution:** โ๏ธ Appropriate actions are taken to address verified problems, ensuring
a safe and compliant environment for all users ๐ก๏ธ.---
*In the event of problems or urgent issues that need resolution ๐จ, any user can contact the support
center for assistance with matters related to the application ๐ ๏ธ. This includes issues with
transactions ๐ธ, projects ๐, or difficulties in publishing ๐ or blocking posts ๐ซ. The support center
is dedicated to reviewing and addressing any concerns to ensure a fair, clean, and user-friendly
experience ๐ค.*---
Several levels of protection have been applied to ensure a secure user experience, safeguarding both
data and financial transactions. These protections include:- **Rate Limiting:** โฑ๏ธ Controls the number of requests each user can make within a specific
timeframe, preventing abuse and brute-force attacks.- **Helmet Integration:** ๐ก๏ธ Enhances security by setting appropriate HTTP headers to protect
against well-known web vulnerabilities.- **Bouncer:** ๐ซ Locks out attackers by detecting and mitigating brute-force attempts, ensuring user
accounts remain secure.- **HPP (HTTP Parameter Pollution) Prevention:** ๐ท Sanitizes and validates query parameters to
protect against parameter pollution attacks.- **MongoDB Sanitization:** ๐ Ensures all data sent to the database is sanitized, protecting against
injection attacks.- **Content Security Policy (CSP):** ๐ก๏ธ Restricts content sources to trusted origins, adding an
additional layer of security against cross-site scripting and data injection.These robust security measures are designed to protect usersโ data and money, providing a safe and
reliable platform experience.## **โ๏ธ Languages & Frameworks & Tools**
## ๐ฅ Team Members
| S.No. | Name | Role | Technology | LinkedIn | Email |
|-------|-----------------------------------------------------------|--------------------|------------|----------------------------------------------------------------------|---------------------------|
| 1. | [Omar Bkdash](https://github.com/Omar-Bkdash-7) | Mobile Developer | Flutter | [@Omar-Bkdash](https://www.linkedin.com/in/omar-bkdashh) | [email protected] |
| 2. | [Ahmed Nour Haidar](https://github.com/Ahmad-Nour-Haidar) | Mobile Developer | Flutter | [@Ahmed-Nour-Haider](https://www.linkedin.com/in/ahmad-nour-haidar/) | [email protected] |
| 3. | [Osama Saddik](https://github.com/osamasaddik) | Frontend Developer | React.js | [@Osama-Saddik](https://www.linkedin.com/in/osama-saddik-8b814b259) | [email protected] |
| 4. | [Ayman Al-khatib](https://github.com/Ayman-Al-Khatib) | Backend Developer | Express.js | [@Ayman-Al-Khatib](https://www.linkedin.com/in/ayman-al-khatib) | [email protected] |
| 5. | [Ahmad Ajajeh](https://github.com/Ahmad-Ajajeh) | Backend Developer | Express.js | [@Ahmad-Ajajeh](https://www.linkedin.com/in/ahmed-ajajeh-b999b6175/) | [email protected] |
| 6. | [Alaa Haidar](https://www.instagram.com/_alaa.haidar) | UI & UX | Figma | [@Alaa-Haidar](https://www.linkedin.com/in/alaa-haidar/) | [email protected] |## ๐ License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## ๐ผ๏ธ Project Preview
The mobile application offers a user-friendly interface and intuitive design to enhance the user
experience. Below are the mockups showcasing various features and screens of the application.
---
The **Admin Dashboard** provides a web interface to manage user activities and edit content. Below
are screenshots showing its light and dark modes for admins.
---
Below are new screenshots from the **Super Admin** Dashboard section. Only unique screens that are
not already featured in the Admin Dashboard are included.