{"id":30785236,"url":"https://github.com/ullaskunder3/locvi","last_synced_at":"2025-10-15T11:28:05.229Z","repository":{"id":310098378,"uuid":"1038522729","full_name":"ullaskunder3/locvi","owner":"ullaskunder3","description":"LocVi is a lightweight Flask-based local file browser that lets you poke around your files 📂, watch videos 🎬, listen to audio 🎧, and view images 🖼️ without losing your mind. It remembers recent folders and the last file you opened… because we all forget stuff 😅.","archived":false,"fork":false,"pushed_at":"2025-08-16T11:02:43.000Z","size":122,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-05T11:58:44.898Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ullaskunder3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-15T11:06:11.000Z","updated_at":"2025-08-16T11:02:47.000Z","dependencies_parsed_at":"2025-08-15T19:27:58.189Z","dependency_job_id":"efb7c852-472b-4b35-a841-0c309e3f509e","html_url":"https://github.com/ullaskunder3/locvi","commit_stats":null,"previous_names":["ullaskunder3/locvi"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/ullaskunder3/locvi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ullaskunder3%2Flocvi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ullaskunder3%2Flocvi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ullaskunder3%2Flocvi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ullaskunder3%2Flocvi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ullaskunder3","download_url":"https://codeload.github.com/ullaskunder3/locvi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ullaskunder3%2Flocvi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279076685,"owners_count":26098226,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-15T02:00:07.814Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-09-05T11:52:04.621Z","updated_at":"2025-10-15T11:28:05.172Z","avatar_url":"https://github.com/ullaskunder3.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LocVi\n\nLocVi is a lightweight Flask-based local file browser that lets you poke around your files 📂, watch videos 🎬, listen to audio 🎧, and view images 🖼️ without losing your mind.\nIt remembers recent folders and the last file you opened… because we all forget stuff 😅.\n\nMight add more features someday… maybe, or not 🤷‍♂️.\n\n### ⚠️ Windows “Unknown Publisher” Warning (for the EXE)\n\nBecause LocVi is signed with a **self-signed certificate**, Windows might show a warning like:\n\n\u003e “Windows protected your PC – Windows SmartScreen prevented an unrecognized app from starting.”\n\n**What to do:**\n\n1. Click **More Info**.\n2. Click **Run Anyway**.\n\n✅ LocVi is totally safe — it’s just self-signed.  \n💸 When my pockets are full, I’ll buy a proper certificate and make Windows stop complaining… until then, enjoy the warning pop-up and the app.\n\n### ⚠️ Heads-Up on Cloud Deployment\n\n\u003e ⚡ Working on PWA functionality — currently in `test` branch 🚧 `pwa/locvi`\n\nLocally, when you enter something like `C:\\Users\\ullas\\Downloads\\test`, Python/Flask happily accesses your local filesystem because, well… it lives on your machine 💻. `os.path.isdir(folder)` succeeds because the folder actually exists where your computer can see it ✅.\n\nNow, if you try the same thing on Vercel (or any cloud server), things get… interesting 🤔. Your app is now running on a remote Linux server that has zero idea about your Windows paths. It can’t peek into `C:\\Users\\ullas\\Downloads\\test` because that folder is on your PC, not theirs 🚫.\n\nResult: `os.path.isdir(folder)` returns `False` and you get the cheerful message: “Invalid folder. Try again.” 😬\n\nSo yeah — for now, if you want to try LocVi, just **clone or fork this repo locally** and run:\n\n```bash\npython run.py\n# or\npy run.py\n```\n\nEnjoy poking around your files 📁, watching videos 🎥, and marking things as “done” ✅ — all without a cloud server judging your folder structure 😎.\n\n(Future plan: maybe one day we’ll make a proper web app 🌐 so everyone can use it online… but that’s a story for another time.)\n\n### LocVi Demo Gallery\n\n| Screenshot 1                                                                                     | Screenshot 2                                                                                     | Screenshot 3                                                                                     |\n| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |\n| ![Screenshot 1](https://github.com/user-attachments/assets/93170fd6-b96b-4e12-baac-1145957b6c2d) | ![Screenshot 2](https://github.com/user-attachments/assets/a039a4d5-bde6-4589-83a2-feca6d4d0084) | ![Screenshot 3](https://github.com/user-attachments/assets/cd596236-e1d4-443c-a1bd-19126a53375c) |\n\n| Screenshot 4                                                                                     | Screenshot 5                                                                                     |\n| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |\n| ![Screenshot 4](https://github.com/user-attachments/assets/80f16c2e-0d87-488e-bd94-000fcdc381b0) | ![Screenshot 5](https://github.com/user-attachments/assets/4f016bf3-091d-4fdf-9163-04388e925c8e) |\n\n| Video Demo YouTube                                                                     |\n| -------------------------------------------------------------------------------------- |\n| [![Video](https://img.youtube.com/vi/xjo8wX2ciJY/0.jpg)](https://youtu.be/xjo8wX2ciJY) |\n\n---\n\n### Why I Created It\n\nI have tons of PDFs and other files across multiple subdirectories, and every time I want to read or watch something, I have to open, close, and hunt through folders. It’s annoying. I also often forget what I was reading or watching last, or what I’ve already finished.\n\nSo I built a **browser-based preview tool**—basically my attempt to improve on the frustrating Windows File Explorer experience.\n\n---\n\n### What It Does\n\n- Paste any folder path and instantly view all files inside.\n- Preview PDFs, videos, audio, images (PNG, JPEG, etc.), and text files.\n- Sort files the way you want (default folder sorting is just frustrating).\n- Remembers **recently opened folders** and **last viewed file**, inspired by VS Code.\n- Checkbox indicator to mark files as “done reading/watching.” State is saved locally in JSON simple but effective.\n- Gives hands-on experience with Python backend development while being genuinely useful.\n\n---\n\n### Current Limitations\n\n- For **large folders**, rendering the file list can take a little time.\n- Sometimes PDFs open in a **different tab** depending on the browser behavior.\n- Does **not yet support large archives** (zip, rar, etc.)—only previews individual files.\n\n---\n\n### What’s Next\n\nI love this project, and I’m thinking of:\n\n- Learn algorithm so I can improve the speed and possible app for it\n- Adding **search and filtering** for quick file lookup.\n- Supporting more file types and larger files efficiently.\n- Maybe a **small recommendation system** for files based on your reading/watching history.\n- Learning more **backend concepts** to handle large directories smoothly.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fullaskunder3%2Flocvi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fullaskunder3%2Flocvi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fullaskunder3%2Flocvi/lists"}