Description
Proposal for GSoC
- Organization: Apache
- Project: OpenDAL oftp
- Contributor: George Miao
About me
I'm George Miao, an undergraduate student at Syracuse University with over
6 years of experience in software development. I have a strong background
in Rust programming language and web development.
{}Background{}
OpenDAL is a data access layer that allows users to easily and efficiently
retrieve data from various storage services in a unified way. oftp can
expose OpenDAL power in FTP way that allows users to access storage
services via FTP protocol.
{}Description{}
oftp will be a single binary cargo package under `/bin` of OpenDAL
repository. I plan to use [libunftp](https://github.com/bolcom/libunftp),
which offers great support for generic storage backend (like OpenDAL) and
async operations. List of subjects in rough chronological order:
- Write a basic FTP server using libunftp, with OpenDAL as the storage
backend - Write thorough tests to ensure the desired functionality
- Add configuration (both config file and command line args)
- Write some detailed documentation and user guide
- Provide a `unftp-sbe-opendal` for upstream (unFTP) to integrate (
optional)
Results for the Apache community
The OpenDAL project will benefit from the addition of oftp, as it will
allow users to access storage services via FTP protocol.
{}Deliverables{}
- The ftp server itself
- Unit test for each ftp command and some integration tests
- User guide and configuration guide
{}Scheduling{}
- Week 1-2: Implement the core FTP server
- Week 3-4: Test core functionality, fix bugs
- Week 5-6: Implement auxiliary features (configuration, command line, etc.)
- Week 7-8: Test auxiliary features, fix bugs
- Week 9-10: Write documentation and user guide
- Rest of the time: Tracking, buffer for bugfixes, more features, etc.
Mentor
Mentor: PsiACE, Apache Apache Member, psiace@apache.org
Mailing List: dev@opendal.apache.org
Please leave comments if you want to be a mentor