Taskr is task sourcing platform for people to outsource tasks to others who wants to make a quick living from it. Taskr is built on Laravel framework using PHP 7.1 and currently developed by a group of five developers.
Follow the steps below to replicate the environment required for development. There are two ways to setup Taskr where one involves in running the environment in a virtual machine while the other in your local machine. It is up to your discretion in the choice made.
- Install and Configure Homestead by following this guide.
- When configuring the
sites
inhomestead.yaml
, use the code block below and replace the folder path with the actual path
sites: - map: homestead.app to: {folder_path}/public
- When configuring the
- Start Homestead by
vagrant up
and SSH into Homestead usingvagrant ssh
. - Navigate into the project folder within the SSH session and run
composer install
to get PHP dependencies. - Run
yarn --no-bin-links
to install Javascript dependencies (e.g. jQuery, Bootstrap, etc.). - Run
cp .env.example .env
and modify the .env file using your favourite editor e.g.nano
,vim
,sublime
- From Laravel Homestead guide, put in the username and password of the PostgreSQL into .env. defaults:
username: homestead, password: secret
- Login to PostgreSQL database by running
psql -U homestead -h localhost
and create database usingCREATE DATABASE taskr
withinpsql
shell. - Generate an application key for laravel by running the command
php artisan key:generate
. - Run database migrations to setup the database tables automatically using
php artisan migrate
.- You can also execute database setup code using the SQL file provided
psql -U homestead -h localhost example.sql
.
- You can also execute database setup code using the SQL file provided
- If configured properly in the guide found in step 1, your application should be accessible from your local machine through the domain you have configured.
- Installing the pre-requisites using one-click installers provided by Bitnami below. Choose your stack based on your host operating system.
- https://bitnami.com/stack/lamp (Linux)
- https://bitnami.com/stack/wamp (Windows)
- https://bitnami.com/stack/mamp (MacOS)
- Install
composer
onto your machine from https://getcomposer.org/. - Navigate to the project folder and run
composer install
to install PHP dependencies. - In the same folder, run
yarn
to install Javascript dependencies (e.g. jQuery, Bootstrap, etc.). - Create
.env
file and copy.env.example
content into it. Configure.env
information with respect to your host configuration. - Access your
postgreSQL
database usingphpPgAdmin
and create a new database calledtaskr
. - Run database migrations to setup the database tables automatically using
php artisan migrate
.- You can also execute database setup code using the SQL file provided
psql -U {your_username} -h localhost example.sql
.
- You can also execute database setup code using the SQL file provided
- Ensure that your project folder is in your Apache folder (e.g. Linux - /var/www/html) and it has writable permissions.
- Navigate to the site based on your Apache settings using your browser.
- If certain errors appear due to lack of dependencies or missing path. Remove
node-modules
andyarn.lock
and runyarn --no-bin-links
to resolve.
Due to the restrictions against ORMs (Eloquent), the project requires the execution of raw queries instead. To understand how to do that in Laravel, take a look at their documentation to learn more.
Run the SQL queries in database/beta-taskr.sql User with credentials u/test@gmail.com p/123456 has all data needed to explore all of taskr's functionality.
Laravel has the most extensive and thorough documentation and video tutorial library of any modern web application framework. The Laravel documentation is thorough, complete, and makes it a breeze to get started learning the framework.
If you're not in the mood to read, Laracasts contains over 900 video tutorials on a range of topics including Laravel, modern PHP, unit testing, JavaScript, and more. Boost the skill level of yourself and your entire team by digging into our comprehensive video library.
Due to too many broken code pushed directly into the master branch, everyone should be developing within their branches and making pull request when trying to merge back into master.