File/Media System (Laravel)

Your task will be to build a File/Media System with a Download Manager (restricting who can download files) in Laravel.

# Basics

- use MySQL, Eloquent ORM & SoftDeletes

- cross-browser & mobile compatible

- implement a simple ajax-powered search (searching user, title, description & array of tags)

- I'll take care of slugs and tagging

# Permissions

Use entrust to implement:

- can_view_files

- can_edit_files

- can_bulk_edit_files (for moderators)

- can_bulk_mark_files (for moderators, spam)

- can_upload_files

- can_download_files

- can_delete_files (soft delete only)

- can_bulk_delete_files (for moderators, soft delete only)

- can_manage_files (optional permanent delete, also sees soft deleted files)

I think they are pretty self-explanatory.

# View: index

- Toggleable between Grid (Default) and List view (paginated)

- Filter by Filetype, upload date, download count & rating

- Sort ASC & DESC

- select/deselect all button and action dropdown (intended for moderators and admins)

--- bulk edit selected (can_bulk_edit_files)

--- mark selected as spam (can_bulk_mark_files)

--- delete selected (can_delete_files)

--- delete selected permanently (can_manage_files only)

--- restore selected (can_manage_files only)

- items (like WordPress media manager):

--- on hover show buttons for delete, report/spam, view/edit modal, select

--- on hover show rating

--- on click -> open Quick View modal (load via Ajax/Angular, see attached drawing in ZIP-file)

- search field

# View: show-file

- Show same like Quick View modal plus ratings overview, revisions list, ratings, write/edit rating, related files, other files by user.

- Show a little pencil icon next to editable contents like title or description, on click open a modal where user can edit those contents

- keep a history of those edits (don't make them a revision)

# Uploads

- upload either via Add Files button or drag and drop on index view

- bulk upload up to 10 files at a time (like on WordPress Media Manager)

- add options to config file which filetypes can be uploaded, what size each file can have, preview image sizes (like in WordPress, preview-xs, preview-sm, preview-md, preview-lg)

- automatically generate small, cropped preview images depending on set image sizes (where possible, otherwhise use a default with filetype icon)

# Revisions

Implement a simple revision system, where all users who have can_upload_file permission can upload newer versions of a file together with a short note of what has changed (like "Fixed typos").

On the show-file view, there should be a section, where all revisions are listed and downloadable.

# Attaching files to other Models

Files should be attachable to other models, therefor implement a Many To Many Polymorphic Relation via a `files_pivot` table (and of course FileableTrait & FileableInterface for attachable models like a post or sth).

There should be at least an attachFile() and a detachFile() method available.

# Download Manager / Restrictions

By default all files are only downloadable for logged in users (with permission (can_download_files), guests can only view but not download.

Furthermore Users with can_manage_files permission can always set files to be publicly accessible.

# File storage: Amazon AWS S3

Implement via Laravels Filesystem / Cloud Storage

see [url removed, login to view] (flysystem)

# Requirements

- use Laravel 5.1 or higher

- use Bootstrap 3.3.x

- use FontAwesome 4.x

- use jQuery 2.x

- use AngularJS (in case necessary)

- use valid HTML5

- provide well structured SCSS files

- make responsive

- well commented code (PHPDoc)

- meet PHP Coding Standards (see [url removed, login to view])

Of course if you have any further ideas or think we should do sth differently, I'm shall be glad to hear them.

Skills: Amazon Web Services, Angular.js, Laravel, PHP, Software Architecture

See more: use case drawing, use case amazon, the basics of coding, table view icon, search system icon, searching in array in c, search angularjs, php mysql php and mysql basics, method models, lg com, grid in php with add edit delete, drawing use case, default bootstrap, c plus plus array, care cloud, bootstrap report, basics of coding, any laravel, angularjs modal, solar system cad file

About the Employer:
( 0 reviews ) Austria

Project ID: #8170270

25 freelancers are bidding on average €1017 for this job


Hello Sir. I am full stack developer and my ranking is 6th in freelancer. I have enough experience with web developing for 7+years. Client satisfaction is my top priority. I will complete your project perfectly in More

€1546 EUR in 30 days
(284 Reviews)

Let's discuss over freelancer Personal Message Box for the proper estimation of cost and time. I am myself developer so you will directly work with me. No mediators. No managers. No subcontractors. see my recent More

€721 EUR in 10 days
(122 Reviews)

Hi Thanks for your valuable time. :-) Just reply with 'Yes' and We will come up with a. Detail project plan with our comments/queries. b. Best-feasible-real COST & TIMELINE Latest Projects : [login to view URL] More

€747 EUR in 30 days
(539 Reviews)

Hi, I have read your post and understood your requirement. I have great experience in handling /Laravel/PHP/MySQL/HTML5/jQuery/Wordpress/Magento/Joomla/Drupal/AngularJS/node.js/CSS3/Java/Python/Django/Javascript/ More

€1030 EUR in 10 days
(84 Reviews)

The requirements are pretty explanatory and exhaustive. I would suggest using some Packagist packages and achieving some of the requirements. We can discuss the others in-depth

€721 EUR in 28 days
(125 Reviews)

Hello, I m Tahsinul Alam, completed Masters in Software Engineering now working as one of the project manager of Workspace Infotech, software/Outsourcing firm located in Dhaka, Bangladesh. We have 13 different team More

€515 EUR in 10 days
(43 Reviews)

Hello , I would like to discuss further with you because Laravel framework is my best skill. I have 6 years experienced in web development and 2.5 years experienced in Laravel framework,solid knowledge MCV and OOP More

€2631 EUR in 60 days
(98 Reviews)

Hello , I have vast experience in developing Website base on Laravel and Web PHP since 4 years. I have checked your requirement and we are interested to working on it. You can see our reputation on freelancer More

€1000 EUR in 15 days
(17 Reviews)

I want to discuss this project with you further, let me know the best suitable time for you to schedule the meeting, Feel free to message me at any time, i used to be online 14 hrs in a day on this website so probably More

€793 EUR in 15 days
(39 Reviews)

hello, sir. I am a expert Laravel developer. if you give me a chance, I will do best for you. Thank you!

€1052 EUR in 10 days
(59 Reviews)

Dear Sir/ Madam, My name is Henry - the owner of PHAMTECH Co. My team is really interested in this project as it is exactly within our scope of expertise: We are web/ app design & development company located in More

€1888 EUR in 40 days
(15 Reviews)

Hello! We are a US company with a 13 year history of developing cloud-based custom software solutions for a diverse client list. Our rapid development platform is able to save our clients significant time and money More

€515 EUR in 10 days
(1 Review)

A proposal has not yet been provided

€947 EUR in 10 days
(35 Reviews)

Hello Sir. I found your "File/Media System (Laravel)" project and I am very interested in this job. My name is Tuan, I am Web Developer with 4+ years of experience. My strong skill are PHP(with Laravel framework)/M More

€1000 EUR in 20 days
(80 Reviews)

As well as 7 years technical experience by developing large web application and Government projects with PHP (CodeIgniter, Laravel),RESTfull API Development, eCommerce (Magento, Opencart, Prestashop), Nodejs (Express,s More

€500 EUR in 10 days
(21 Reviews)

A proposal has not yet been provided

€888 EUR in 10 days
(18 Reviews)

Dear Sir. I have many experience in developing eBay and Amazon inventory with PHP , Jquery , MYSQL and #C . i already developed the similar project with your project. i can customize it for you. http://s4230 More

€526 EUR in 10 days
(6 Reviews)

A proposal has not yet been provided

€526 EUR in 10 days
(17 Reviews)

Hello, my name is Olya. I represent Ukrainian IT Company «Webbook». We provide website design and web development services for organizations, public and government institutions, company or private web-pages. We got More

€1500 EUR in 28 days
(6 Reviews)

Hi, I gone through requirement and understand very well. I use to work on this type of task every day. I am capable to complete your specific requirement on time with in less development cost. About me- • Completed More

€277 EUR in 10 days
(4 Reviews)