https://github.com/oscvrhrr/file-uploader
Stripped down google drive built with React & Express
https://github.com/oscvrhrr/file-uploader
express jwt postgresql prisma react rest
Last synced: 3 months ago
JSON representation
Stripped down google drive built with React & Express
- Host: GitHub
- URL: https://github.com/oscvrhrr/file-uploader
- Owner: oscvrhrr
- Created: 2024-09-23T13:28:11.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-28T18:36:03.000Z (over 1 year ago)
- Last Synced: 2025-02-07T12:46:57.729Z (over 1 year ago)
- Topics: express, jwt, postgresql, prisma, react, rest
- Language: TypeScript
- Homepage: https://file-uploader-beige.vercel.app/
- Size: 317 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

MyDrive
A Fullstack File Storage system that securely uploads & downloads files. Allows for file management
and integrates with Supabase Storage for secure file storage.
## Users
| Description | Method | URL |
| ----------- | ------ | --- |
| create user | POST | /users/signup |
| login user | POST | /users/login |
| current user data | GET | /users/me |
| delete a user | DELETE | /users/:userid |
## Drives
| Description | Method | URL |
| ----------- | ------ | --- |
| new folder in a drive | POST | /drives/:driveid/folder |
| new file in a drive | POST | /drives/:driveid/file |
| get a drive | GET | /drives/:driveid |
## Folders
| Description | Method | URL |
| ----------- | ------ | --- |
| new folder in a folder| POST | /folders/:folderid/folder |
| new file in a folder | POST | /foldres/:folderid/file |
| get a folder| GET | /folders/:folderid |
| get a file from a folder| GET | /folders/:folderid/files/:fileid |
## Problems I faced
## Auth
- [x] Sign Up
- [x] Log In
- [x] Log out
## Folder
- [x] Create
- [x] Read
- [x] Delete
## Files
- [x] Upload in Drive
- [x] Upload in Folder
- [x] Download Files
- [x] Manage Files
## Todo
- [x] React for modern snapy frontend
- [ ] Make responsive
## Technology Used
* Auth: Passport.js (Local)
* Frontend: React frontend in development
* Backend: Node, Express, Prisma
* Database: PostgreSQL
* Session management: Prisma session store
* Security: Bcrypt for hashing and salting passwords