Skip to content

crisleymarques/GoGo-Drive

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoGo-Drive

Álef Ádonis dos Santos Carlos | Crisley Venâncio Marques | Kilian Macedo Melcher

Project developed for the Concurrent Programming discipline.

2022.2 | UFCG

Description 📋

This API provides endpoints to upload and download files. It was inspired by the Google Drive file system management.

Planning 🗓️

Link to deliveries planning.

Dependencies 🧰

Run ▶️

  1. Clone the repository:

    git clone git@github.com:AlefAdonis/GoGo-Drive.git
  2. Go to project directory:

    cd GoGo-Drive
  3. Build & Run the server:

    go build src/*.go && go run src/*.go
  4. Run testes:

    You should open a new instance of your terminal and the server must be online.

    ./tests.sh
    

If you wanna try run the server with a docker. Try:

   sudo docker compose up

Endpoints 🏷️

Upload File

Endpoint: POST /upload

Uploads a file to the server.

If the file is not in the same directory, insert the full path to upload!

Example:

curl -X POST -F "file=@/path/to/file" localhost:8081/upload

List Files

Endpoint: GET /files

Lists all uploaded files.

Example:

curl localhost:8081/files

Download File

Endpoint: GET /download/:filename

Downloads a file with the specified filename.

Example:

curl -OJ localhost:8081/download/doc.txt

Delete File

Endpoint: DELETE /delete/:filename

Deletes a file with the specified filename.

Example:

curl -X DELETE localhost:8081/delete/doc.txt

About

Concurrent Project Lab

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 86.5%
  • Shell 12.4%
  • Dockerfile 1.1%