Git Product home page Git Product logo

cs410_agile_group2's People

Contributors

benmatteson avatar brialee avatar mahmoudm14 avatar ppdom avatar svuhoang avatar

Watchers

 avatar  avatar  avatar  avatar

cs410_agile_group2's Issues

Create FTP Client Installer

As a non-tech-savvy FTP user, I want an FTP client installer, so I can easily install the program on my own.

Use saved connection information to connect

FTP users should be able to recall saved connection information so that the FTP client is able to re-initate a connection to the same FTP server using the previously-used information.

Put Multiple

The user should be able to put multiple files onto the remote server with a single command. Upon being uploaded, the remote files are identical to their local counterparts.

Resume Failed File Transfer

As an FTP user, I want to be able to resume a failed file transfer, so I can quickly transfer files after my connection is interrupted.

Create interactive menu

When a user runs the client they should be met with a prompt where they can enter the commands to perform the desired actions so they can use the client directly.

Refactor Client to allow for interactive connections

To be able to use saved connection information from within the SFTP client, it will be necessary to allow a user to enter the interactive shell without an active connection (the software's current behavior is to: exit if a connection can't be made).

Tasks #29 and #30 require this feature to exist before they can be implemented.

Rename file on remote server

After the remote file is selected, and a new name is supplied, it's name will change to the new selected name. The client will output a message if the name change was successful or not.

Log into remote ftp server

As an FTP client user I want to be able to log into a remote server so I can authenticate with the server.

  • 2 Hours

Test Delete Directories on Remote Server

Depends on:

Acceptance Criteria:

  • After deleting a directory, the directory and all child items (folders and files) should also be deleted
  • a user should not be able to delete a directory that they do not have 'write' permissions on
  • a user should not be able to delete non-existent files

Delete file from remote server

After deleting a file from the remote server, it will not longer exist on the server; users should be able to delete files that they have permission to delete; the file must exist before the user attempts to delete it

Change local directory

As a user of the SFTP client, I want to be able to change directories locally because that should be included in a basic SFTP client done via CLI.

Delete All Contents of a Folder

FTP users should be able to delete directories on the remote server so that the remote directory tree can be managed via FTP.

Rename Local Files

As an FTP user, I want to be able to rename a file on the local machine, so that I can rename files on my local machine without closing the FTP client

Save connection information

FTP users should be able to save connection information so that the FTP client is able to 'remember' the previous host, port and username

Print local directory

As a user of the SFTP client, I want to be able to know what my current directory is because sometimes I forget which directory I'm in and this would help jog my memory.

Timeout Disconnection

As an FPT user, when I am idle from the remote server, I get disconnected from the server so that the server remains secure.

Create directory on remote server

Upon creating a directory on the remote server, it should persist across log ins. The user who created the folder should have the necessary access rights (i.e. write access).

Get Multiple

The user should be able to retrieve multiple files from the remote server with one command, and after being downloaded, the local versions match their remote counterparts.

command history follows cd

because command history is saved in the local working directory and cdl changes the local working directory, new command_history.txt files are created in each new directory after cdl.

Delete Empty Folder

FTP users should be able to delete directories on the remote server so that the remote directory tree can be managed via FTP.

  • 2 Hours

Log off from remote server

Upon logging out, the sftp client will no longer response to user input, however the user should be able to log back into the client should they choose to do so.

System Requirements/Application Deliery

A decision needs to be made on the how program will be delivered to the client, and under what conditions is its use supported.

Possible solutions:

  • A simple README that outlines system requirements (Python3, PySFTP, etc.)
  • Bash script that creates a virtual environment on either/only Linux/MacOS.

Change Remote Directory

In order to aid in the overall functionality of the Client and testing suits, a feature needs to be implemented so that we can change remote directories.

Get a file from a remote server

The user should be able to download a file from a remote server to their local machine. Once downloaded, the new file must be an exact copy of the remote version.

Refactor tests

Some of the tests need to be rewritten to pass reliably (or so others can pass) (see TODOs). Alternately, a setup guide/script/something for the server that's to be tested against.

Some of the integration tests count on certain behavior from other tests which isn't currently happening. they should be rewritten to so the other tests can pass.
(e.g. this test was written, but it does something else and is called after the chmod tests.)

Alternately, we drop the "unit test" pretext because in reality we've got a bunch of integration tests written like unit tests, some of which, mine included, casually call functions that are "tested" later in the same way. so we could instead roll them together into test cases that actually test sequences of actions like mkdir -> chmod -> rm, rather than enforcing specific side effects in the faux unit tests. But that's more work...

Tracking Activity

As an FTP user, I want to be able to see all recent actions done in the program so that I can track FTP activity.

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.