Skip to content

Instantly share code, notes, and snippets.

@shojibflamon
Last active May 8, 2022 04:50
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shojibflamon/2cd72504060a9d15284bb7a2ab61dd47 to your computer and use it in GitHub Desktop.
Save shojibflamon/2cd72504060a9d15284bb7a2ab61dd47 to your computer and use it in GitHub Desktop.
Full Stack Web Developer

Assignment

Situation

Need to develop a brand new file manager from scratch where you have to manage all the files & directories.

Features

  • Create, rename & delete the directory
  • Uploading allowed file extension (Multi Uploading)
  • File must be validated with proper validation when uploading
  • Download file
  • Preview Image (thumbnail) if the file is in image format.
  • Directory go back & forward
  • Directory tree
  • Copy & Move operation with file & directory with recursively
  • Refreshing
  • Searching
  • Ascending Descending order
  • Pagination
  • Allowed item (extension) should be configurable from configuration
  • Upload file size should be configurable from configuration
  • Authentication is not mandatory.
  • Frontend could be anything like HTML, React or Vue
  • Backend could be framework(laravel or any) or simple PHP (OOP)

Requirments

  1. Your application must be maintainable:
    1. Dependencies between separate parts of your code should be clear
    2. Code should be consistent, readable, structured
  2. Application should have passed at least three automation test of three core features.
  3. Your application must be extensible:
    1. Adding new functionality or changing existing one should not require rewriting the system itself or its core parts
    2. Code should be PSR-12 compatible
  4. Minimal documentation should be provided (readme.md):
    1. How the system should be run (what command to run)
    2. How to initiate system's tests (what command to run)
  5. Do not use any databases or temporary files to keep file or directory information for files & directories. Files & directories are directly read & managed by your application from the storage system.
  6. Do not use our company name in titles, descriptions, or the code itself.
  7. Must share the time taken to complete the task in an hour.
  8. You can commit after completing each task in any public repository (Github or any)

Evaluation Criteria

  1. Requirements considered as met by Our team. It would be best if all requirements are met
  2. Code quality - readability, structure, maintainability, extensibility, testability

Task Submission

Must be put the code publicly (in GitHub or similar code control systems), but please note the requirement about Company name usage. If you want you can deploy your project on any cloud platform.

Before submitting, please look at the requirements once again – all of them must be accomplished.

Send your project with the following emails with the proper subject format

To: Provided in Mail
CC: Provided in Mail
Subject: Candidate Name - Full Stack Web Developer - Year
Deadline: Provided in Mail (Please complete as fast as possible)
Any Query: Provided in Mail

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment