Giter VIP home page Giter VIP logo

freelancers-market's Introduction

Freelancers Market

Freelancers Market is a platform works like a broker between the clients and the freelancers while the actual work and pay done on the freelance website that both the freelancer and the client are using. How it works? clients can link their jobs on the platform to let freelancers apply on their jobs. Then the client can invite the best suited freelancer(s) to apply on his job on The freelance website.

Basic Features

  • Real-time notifications on self hosted laravel echo server.
  • Full-text search with Laravel Scout and TNTSearch.
  • Shipped with testing units to test the application using PHPUnit.
  • Clean, high quality and easy to understand code.
  • Compatible with PHP 7.4 and Laravel 7.
  • Dockerized developing environment to speed up the installation process.
  • Ability to seed fake data in the database.
  • Utilize Redis for broadcasting, caching, queues and sessions.
  • Ability to debug and track the development environment with Laravel Telescope and Horizon.
  • And more...

Requirements

In order to use Freelancers Market, you will need:

Installation

  1. Install the project
git clone --recurse-submodules https://github.com/m-elewa/freelancers-market.git \
    && cd freelancers-market \
    && git submodule update --remote \
    && cd laradock \
    && cp env-example .env
  1. Change HOST_DOMAIN and ACME_EMAIL in .env file to your website domain and email
  2. Run Docker Containers with make up command from the root directory or from laradock directory run
docker-compose up -d --build --scale nginx=3
  1. Setup the application by running make setup from the root directory or from laradock directory run
docker-compose exec --user=laradock workspace composer setup

You can now login with [email protected] and password as password

Tips

  • run make test-database to create test database for tests
  • run make test to test the application
  • run make seed to drop all tables then migrate and seed the database
  • for Laravel Telescope go to https//{YOURDOMAIN.COM}/telescope
  • for Laravel Horizon go to https//{YOURDOMAIN.COM}/horizon
  • for Portainer go to {YOURDOMAIN.COM}:9010
  • for phpMyAdmin go to {YOURDOMAIN.COM}:8080
  • to enter the Workspace container run make bash or
docker-compose exec --user=laradock workspace bash
  • change the freelance website name and domain in .env file
FREELANCE_WEBSITE_NAME="Freelance Website"
FREELANCE_WEBSITE_DOMAIN="example.com/"
  • to index the existing jobs run make scout-import
  • If you need to flush the jobs index run make scout-flush

Great open-source projects used to help build Freelancers Market

To Do

  • use ElasticSearch as the search engine
  • use AJAX and Vue.js for the search page
  • create admin control panel
  • add realtime messaging system
  • add more search filters
  • add more tests

Issues

If you come across any issues please report them here.

Contributing

Contributing to the Freelancers Market project are welcome, please feel free to make any pull requests, or email me a feature request you would like to see in the future to Mahmoud Elewa at [email protected].

Security Vulnerabilities

If you discover a security vulnerability within Freelancers Market, please send an email to Mahmoud Elewa at [email protected], or create a pull request if possible.

Disclaimer

Before using this project with any freelance website you have to make sure first that this website allow it and it does not violate any of their Terms of Service.

License

The Freelancers Market is open-sourced software licensed under the MIT license.

freelancers-market's People

Contributors

m-elewa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

freelancers-market's Issues

error when running: docker-compose up -d --build --scale nginx=3

=> ERROR [5/7] RUN apk add --update python python-dev py-pip build-base 4.2s

[5/7] RUN apk add --update python python-dev py-pip build-base:
2.706 fetch https://dl-cdn.alpinelinux.org/alpine/v3.19/main/x86_64/APKINDEX.tar.gz
3.119 fetch https://dl-cdn.alpinelinux.org/alpine/v3.19/community/x86_64/APKINDEX.tar.gz
3.774 ERROR: unable to select packages:
3.774 python (no such package):
3.774 required by: world[python]
3.774 python-dev (no such package):
3.774 required by: world[python-dev]


Dockerfile:10

9 |
10 | >>> RUN apk add --update
11 | >>> python
12 | >>> python-dev
13 | >>> py-pip
14 | >>> build-base
15 |

ERROR: failed to solve: process "/bin/sh -c apk add --update python python-dev py-pip build-base" did not complete successfully: exit code: 2
ERROR: Service 'laravel-echo-server' failed to build : Build failed

Getting the above Issue while Installing It

Recreating 86a5cde800d5_laradock_traefik_1 ... error
/laradock/mysql/docker-entrypoint-initdb.d': mkdir /var/www: read-only file system

ERROR: for d9fda5d48f4b_laradock_docker-in-docker_1 Cannot start service docker-in-docker: error while creating mount source path '/var/www/hRecreating 0a0ae4464a6f_laradock_ide-theia_1 ... error

ERROR: for 86a5cde800d5_laradock_traefik_1 Cannot start service traefik: error while creating mount source path '/var/www/html/freelancers-market/laradock/traefik/data': mkdir /var/www: read-only file system

ERROR: for 0a0ae4464a6f_laradock_ide-theia_1 Cannot start service ide-theia: error while creating mount source path '/var/www/html/freelancerRecreating laradock_laravel-echo-server_1 ... error

ERROR: for laradock_laravel-echo-server_1 Cannot start service laravel-echo-server: error while creating mount source path '/var/www/html/freelancers-market/laradock/laravel-echo-server/laravel-echo-server.json': mkdir /var/www: read-only file system

ERROR: for mysql Cannot start service mysql: error while creating mount source path '/var/www/html/freelancers-market/laradock/mysql/docker-entrypoint-initdb.d': mkdir /var/www: read-only file system

ERROR: for docker-in-docker Cannot start service docker-in-docker: error while creating mount source path '/var/www/html/freelancers-market': mkdir /var/www: read-only file system

ERROR: for traefik Cannot start service traefik: error while creating mount source path '/var/www/html/freelancers-market/laradock/traefik/data': mkdir /var/www: read-only file system

ERROR: for ide-theia Cannot start service ide-theia: error while creating mount source path '/var/www/html/freelancers-market': mkdir /var/www: read-only file system

ERROR: for laravel-echo-server Cannot start service laravel-echo-server: error while creating mount source path '/var/www/html/freelancers-market/laradock/laravel-echo-server/laravel-echo-server.json': mkdir /var/www: read-only file system

demo

Hi,

could you set up a demo website so people can see it?

Thanks.

Urgent

Step 7/18 : RUN pip --no-cache-dir install https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.8.0-cp35-cp35m-linux_x86_64.whl
---> Running in 64b191ee0653
ERROR: tensorflow_gpu-1.8.0-cp35-cp35m-linux_x86_64.whl is not a supported wheel on this platform.
ERROR: Service 'jupyterhub-user' failed to build: The command '/bin/bash -c pip --no-cache-dir install https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.8.0-cp35-cp35m-linux_x86_64.whl' returned a non-zero code: 1

UnexpectedValueException

I tried to setup using Docker (as per given instructions in give README file).
But after opening url https://165.22.219.198/
it give error: "UnexpectedValueException
The stream or file "/var/www/storage/logs/laravel-2020-07-21.log" could not be opened: failed to open stream: Permission denied "
Attached Scree-shot of the same.
Screenshot from 2020-07-21 17-03-06

Script php artisan migrate:fresh --seed handling the setup event returned with error code 1

facing error here. can u help?

SQLSTATE[HY000] [14] unable to open database file

at vendor/teamtnt/tntsearch/src/Indexer/TNTIndexer.php:181
177| if (file_exists($this->config['storage'].$indexName)) {
178| unlink($this->config['storage'].$indexName);
179| }
180|

181| $this->index = new PDO('sqlite:'.$this->config['storage'].$indexName);
182| $this->index->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
183|
184| $this->index->exec("CREATE TABLE IF NOT EXISTS wordlist (
185| id INTEGER PRIMARY KEY,

  +53 vendor frames

54 database/seeds/DatabaseSeeder.php:48
Illuminate\Support\Facades\Facade::__callStatic()

  +30 vendor frames

85 artisan:37
Illuminate\Foundation\Console\Kernel::handle()
Script php artisan migrate:fresh --seed handling the setup event returned with error code 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.