This is a virtual file system, written in and for educational and demonstrational purposes.
A full-stack SPA implementing a virtual file system with a hierarchical tree structure. It supports full CRUD operations, validation, and sorting, providing an intuitive interface for managing files and folders directly in the browser.
Based on tech stack:
- HTML,
- PHP,
- Laravel,
- Jetstream,
- Sanctum,
- Inertia,
- MySQL,
- JavaScript,
- Vue,
- Pinia,
- Axios,
- CSS,
- TailwindCss,
- Docker,
- Sail,
- Swagger,
- Postman,
- Scribe.
- Clone the repository:
git clone [repository-url]- Change directory to project:
cd /path/to/virtual-file-system/- Install php dependencies:
composer install- Create .env file:
cp .env.example .env- Generate application key:
php artisan key:generate-
Run Docker Desktop (with wsl - for Windows only)
-
Run wsl (for Windows only):
wsl- Run Sail:
./vendor/bin/sail up- Add new tab in terminal and connect to container:
docker exec -it virtual-file-system-laravel.test-1 bash- Install php dependencies (optional, if missing some required php extension in base system):
composer install- Run migrations:
php artisan migrate- Install node dependencies:
npm install- Build project:
npm run build-
In browser go to welcome page http://localhost/
-
Register new user on http://localhost/register (enter your name, email, password)
-
Or you can seed database with random users (name, email: random - look in database, password: password), folders and files:
php artisan migrate:fresh --seed- Login on http://localhost/login
That's it! Thank you!
The 'Virtual file system' is open-sourced software licensed under the MIT license.