{"id":17780680,"url":"https://github.com/oscvrhrr/file-uploader","last_synced_at":"2026-04-09T09:34:53.070Z","repository":{"id":259253188,"uuid":"861763668","full_name":"oscvrhrr/file-uploader","owner":"oscvrhrr","description":"Stripped down google drive built with  React \u0026 Express","archived":false,"fork":false,"pushed_at":"2025-01-28T18:36:03.000Z","size":325,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-07T12:46:57.729Z","etag":null,"topics":["express","jwt","postgresql","prisma","react","rest"],"latest_commit_sha":null,"homepage":"https://file-uploader-beige.vercel.app/","language":"TypeScript","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/oscvrhrr.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}},"created_at":"2024-09-23T13:28:11.000Z","updated_at":"2025-01-31T19:41:22.000Z","dependencies_parsed_at":"2024-12-10T15:26:16.463Z","dependency_job_id":"6dda52ca-d9cd-4ef0-a98c-dbb341106c4d","html_url":"https://github.com/oscvrhrr/file-uploader","commit_stats":{"total_commits":45,"total_committers":1,"mean_commits":45.0,"dds":0.0,"last_synced_commit":"0ad8ba671d00e01ce3531f8f7b43fcf6cc775e13"},"previous_names":["oscvrhrr/file-uploader"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscvrhrr%2Ffile-uploader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscvrhrr%2Ffile-uploader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscvrhrr%2Ffile-uploader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscvrhrr%2Ffile-uploader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oscvrhrr","download_url":"https://codeload.github.com/oscvrhrr/file-uploader/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246701301,"owners_count":20820034,"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","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":["express","jwt","postgresql","prisma","react","rest"],"created_at":"2024-10-27T03:03:30.387Z","updated_at":"2025-12-30T23:12:52.326Z","avatar_url":"https://github.com/oscvrhrr.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Alt Text](https://fzyxhpuljtyplklakuoy.supabase.co/storage/v1/object/sign/misc/mydrive.gif?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1cmwiOiJtaXNjL215ZHJpdmUuZ2lmIiwiaWF0IjoxNzI5NzAwMDIyLCJleHAiOjE3NjEyMzYwMjJ9.gL1DGrj098fbaFptNXp0NNSxn0myWptxEwnTPr7eTas\u0026t=2024-10-23T16%3A13%3A42.712Z)\n\n\u003ch3 align=\"center\"\u003eMyDrive\u003c/h3\u003e\n\u003cp align=\"center\"\u003e\n   A Fullstack File Storage system that securely uploads \u0026 downloads files. Allows for file management\n  and integrates with Supabase Storage for secure file storage.\n  \u003cbr /\u003e\n  \u003cbr /\u003e\n\u003c/p\u003e\n\n\n## Users\n| Description | Method | URL |\n| ----------- | ------ | --- |\n| create user | POST | /users/signup |\n| login user | POST | /users/login |\n| current user data | GET | /users/me |\n| delete a user | DELETE | /users/:userid |\n\n## Drives\n| Description | Method | URL |\n| ----------- | ------ | --- |\n| new folder in a drive | POST | /drives/:driveid/folder |\n| new file in a drive  | POST | /drives/:driveid/file |\n| get a drive | GET | /drives/:driveid |\n\n\n## Folders\n| Description | Method | URL |\n| ----------- | ------ | --- |\n| new folder in a folder| POST | /folders/:folderid/folder |\n| new file in a folder | POST | /foldres/:folderid/file |\n| get a folder| GET | /folders/:folderid |\n| get a file from a folder| GET | /folders/:folderid/files/:fileid |\n\n\n## Problems I faced\n\u003c!-- * Decoupling a monolithic application into seperate components, modularizing the frontend and backend. This was a challenge\nbecause it was the first time I faced this problem. --\u003e\n\n\n\u003c!-- * how is tacked this issue was dessinging my api first and coding it out afterwards, this approached help because it allowed me to plan the way i was going to decouple the app before and set me up with a plan to execute --\u003e\n\n\u003c!-- * issue i faced was preventing an infinte useEffect loop when i set the Drive as a dependecy. --\u003e\n\n\u003c!-- * How i solved it was passing a boolean as a prop and tirggering it when i needed to run the useeffect again --\u003e\n\n\u003c!-- * issue i face was sending contolled state to the backend as differnt types.  --\u003e\n\n\n## Auth\n- [x] Sign Up\n- [x] Log In\n- [x] Log out\n\n## Folder\n- [x] Create\n- [x] Read\n- [x] Delete\n\n## Files\n- [x] Upload in Drive\n- [x] Upload in Folder\n- [x] Download Files\n- [x] Manage Files\n\n## Todo\n- [x] React for modern snapy frontend\n- [ ] Make responsive \n \n## Technology Used\n* Auth: Passport.js (Local)\n* Frontend: React frontend in development\n* Backend: Node, Express, Prisma\n* Database: PostgreSQL\n* Session management: Prisma session store\n* Security: Bcrypt for hashing and salting passwords","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foscvrhrr%2Ffile-uploader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foscvrhrr%2Ffile-uploader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foscvrhrr%2Ffile-uploader/lists"}