8000 GitHub - sameerihs/Grosh: An efficient server for file sharing built in GoLang
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

An efficient server for file sharing built in GoLang

Notifications You must be signed in to change notification settings

sameerihs/Grosh

Rep 702B ository files navigation

MyGoShare - File Sharing & Management System 📂


Welcome to MyGoShare, a powerful and efficient file-sharing and management system built with GoLang! This project is designed to provide secure file uploads, metadata storage, user authentication, file sharing via public links, caching using Redis, and optimized search for large datasets.

🌟 Features Overview

  • 🔐 User Authentication with JWT
  • 📤 Secure File Uploads
  • 📝 File Metadata Storage in PostgreSQL
  • 🔗 Public File Sharing
  • ⚡ In-Memory Caching with Redis for Fast Metadata Access
  • 🔍 File Search by Name, Date, and Type
  • ⏱️ Hosted on AWS EC2 and uses a S3 bucket

📑 API Endpoints

Here’s a list of all the available API endpoints for MyGoShare:

🔐 User Authentication

  1. Register:

    • URL: POST /register
    • Description: Register a new user with email and password.
  2. Login:

    • URL: POST /login
    • Description: Authenticate the user and return a JWT token.

📤 File Upload & Management

  1. Upload File:

    • URL: POST /upload
    • Description: Upload a file. Requires JWT authentication.
    • Authorization: Bearer Token
    • Body: Multipart form with a file field.
  2. Get Files:

    • URL: GET /files
    • Description: Retrieve the list of files for the authenticated user.
    • Authorization: Bearer Token
  3. Search Files:

    • URL: GET /search/files?name=&date=&file_type=
    • Description: Search the user’s files by name, upload date, and file type.
    • Authorization: Bearer Token

About

An efficient server for file sharing built in GoLang

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0