This project is a stripped-down version of Google Drive, implemented as a web application. It demonstrates key features of a personal cloud storage service, including user authentication, file management, and folder organization. The application showcases modern web development practices and utilizes a robust tech stack for building scalable and secure web applications.
- User Authentication: Secure login and registration system using Passport.js
- File Management: Upload, download, and view file details
- Folder Organization: Create, read, update, and delete folders
- Session Management: Persistent sessions using Prisma Session Store
- Database Integration: Efficient data storage and retrieval with Prisma ORM
- Cloud Storage: File storage using Cloudinary or Supabase (optional)
- Backend: Node.js with Express.js
- Database: PostgreSQL
- ORM: Prisma
- Authentication: Passport.js
- Session Management: express-session with Prisma Session Store
- File Handling: Multer
- Frontend Templating: EJS (or your chosen frontend framework)
- (Optional) Cloud Storage: Cloudinary or Supabase
- Clone the repository
- Install dependencies:
npm install - Set up your PostgreSQL database and update the
.envfile with your database URL - Run database migrations:
npx prisma migrate dev - Start the server:
npm start
- Implement file sharing functionality
- Add user roles and permissions
- Integrate real-time collaboration features
- Improve UI/UX with a modern frontend framework
Contributions, issues, and feature requests are welcome. Feel free to check issues page if you want to contribute.
This project showcases my skills in full-stack web development, database management, and implementing secure authentication systems. It demonstrates my ability to create scalable web applications using modern technologies and best practices.