Giter Site home page Giter Site logo

lottewong / scutmsc-dfs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from scutmsc/scutmsc-dfs

0.0 1.0 0.0 383 KB

A distributed file system powered by and applied on South China University of Technology Microsoft Student Club.

License: MIT License

Go 74.43% HTML 24.16% JavaScript 1.28% Dockerfile 0.13%
go golang scutmsc distributed-file-system

scutmsc-dfs's Introduction

SCUTMSC-DFS

A distributed file system powered by and applied on South China University of Technology Microsoft Student Club.

Copyright © SCUT Microsoft Student Club. All rights reserved.


Architecture

Architecture of SCUTMSC-DFS

Features

  • User Signup / Signin
  • Authorization Interceptor
  • Session Management
  • File Upload / Download
  • Fast Upload
  • Multipart Upload
  • Breakpoint-resumed Download

API List

API Description API Method API URL
Index GET /
File Upload POST /file/upload
File Update PUT /file/update
File Download GET /file/download
File Query GET /file/query
File Delete DELETE /file/delete
User Signup POST /user/signup
User Signin POST /user/signin
User Info GET /user/info

Quick Start

  • Start the server

    go run main.go
  • Browse the client

    Enter http://localhost:8080 .

  • User sign up

    Follow the page guide.

  • User sign in

    Follow the page guide.

  • Get user info

    GET /user/info/?nickname=${nickname} HTTP1.1
    ...
  • Upload the file

    Follow the page guide.

  • Update the file

    PUT /file/update HTTP1.1
    ...
    
    optionType=${optionType}
    &
    fileSha1=${fileSha1}
    &
    fileName=${fileName}
  • Download the file

    GET /file/download/?fileSha1=${fileSha1} HTTP1.1
    ...
  • Query the file(s)

    when querying a single file by file hash:

    GET /file/query/filehash/?fileSha1=${fileSha1} HTTP1.1
    ...

    when querying batch files by limit count

    GET /file/query/limitcount/?limitCount=${limitCount} HTTP1.1
    ...
  • Delete the file

    DELETE /file/delete HTTP1.1
    ...
    
    fileSha1=${fileSha1}

Dependency

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.