Skip to content

Freelanceku: Collaborative Project Hub for Freelancers

License

Notifications You must be signed in to change notification settings

luthfiarian/Freelanceku

Repository files navigation

Logo Freelanceku
Freelanceku

The Best Way to Share Work!
Freelanceku - 2024


What is Freelanceku ?
Freelanceku is a web application that allows you to share work with others and find partners who are suitable to accompany you in completing projects. You can choose work that matches your skills, interests, and time, and communicate directly with your clients and partners through the chat feature. You can also give and receive feedback to improve the quality of your work. One of the interesting features of Freelanceku is payment through a reliable and secure payment gateway. You don’t have to worry about your money being deposited on the platform, because you can withdraw it anytime to your bank account. You can also see your transaction history easily and transparently. Freelanceku is a web application that is suitable for you who want to work flexibly and not binding, and expand your network and experience.


Jump to
Pre-requisiteInstallationConfigurationDocumentationTrickFeatureLicense


👀 Pre-requisite

Make sure you have installed the following list:

PHP Version 8.2.4 - Important
Node.js
Composer

PHPNode.jsComposer

👨‍🔧 Installation

For installation, you can use GIT using the link below

git clone https://github.com/luthfionumsida/freelanceku.git

If you don't have GIT you can download it from the green top right code button or link below

https://github.com/luthfionumsida/freelanceku/archive/refs/heads/main.zip

Install npm and composer package
For Development

npm install
composer install

For Production

npm install --production
composer install --no-dev

List of package

Midtrans/Midstrans-php  (composer)
Tailwindcss             (npm)
Flowbite                (npm)
Swiper                  (npm)

Location Database

Docs/databases/freelanceku_site.sql
Docs/databases/freelanceku_user.sql

Location input.css and output.css (Tailwind CSS)

Public/src/input.css
Public/dist/css/style.css

Location PWA

Public/dist/pwa/{manifest.json, offline.php, img, ext.}

Location PWA Register Service Worker

App/Views/Templates/Part/RegisSWPWA.php

🔧 Configuration

For first time installation, you can configuration file in bellow

1. Host - To change the site address

App/Config/Host.php

2. Database - Configure the database server connection to your site

App/Config/Database.php

3. Api - Configure an API connection to your site

App/Config/Api.php

4. Admin - Configure admin key to register new admin (You can configure it as you like)

App/Config/Admin.php

5. Midtrans - Configure your midtrans account for use on your site

App/Config/Mitrans.php

6. Webhook - Create account as admin for use receive notification from midtrans

App/Config/Webhook.php

📄 Documentation

Admin User

Docs/admin/admin.pdf

Freelance User

Docs/client/freelance.pdf

Full Documentation

Docs/freelanceku_full_documentation.pdf

Documentation API

https://github.com/rayzio-jax/freelance-api

Documentation Midtrans API

Full Documentation Midtrans API

https://docs.midtrans.com/

Payment trial in sandbox / testing mode

https://simulator.sandbox.midtrans.com/

Framework

https://tailwindcss.com

🤫 Trick

Register as Admin

Register as new admin from debug mode (app status must be development)

Register as admin from debug mode

Register as new admin from url / method GET (var portal-admin) and value is Admin key (you can see in file Admin.php) For example:

http://{your_host}/freelanceku/?portal-admin=adminKey

If you have input the URL above, the page will automatically reload / go to the home page, then click on the register button

Webhook / HTTP(S) Notification Midtrans

If you use webhooks, use port forwarding or local tunneling software to receive notifications from Midtrans (If you have a website that has integrated domain and SSL, it is highly recommended 👍). Make sure the software is free from "Visit Site" prompts or pages that are harmful to web browsers. Software suggestions:

Serveolocalhost.runCloudflare Tunnel

Don't forget to configure your Midtrans account (on the Midtrans right navigation, click integration and click configuration), fill in the gray box image below according to the complete URL of your website:

Webhook Configuration Midtrans

Example of the URL to be filled in

http://{your_host}/freelanceku/transaction/

The message of failure to receive notification from Midtrans will be stored in the freelanceku_site table site_webhook database

🌟 Feature

  • Freelance users share work with up to 3 partners
  • Create unlimited works
  • Freelance User Monitoring System (For Admin)
  • Join unlimited works (for partners)
  • Use Payment gateway for payment after job completion
  • There is no change in account to become a partner/employer
  • Debug Mode in Development (for Developer)
  • Built in PWA
  • Midtrans Webhook

⚠️ License

Distributed under the MIT License. See LICENSE.txt for more information.