CS297 Proposal

Building Lean, Standalone Web Servers and Routing Engines

Ajita Shrivastava (ajita.shrivastava@sjsu.edu)

Advisor: Dr. Chris Pollett

Description:

The objective of this research is to develop single-file, low-dependency, pure PHP servers and routing engines that serve as implementations of SMTP and IMAP protocols, making email communication more straightforward for everyone. The motivation behind this research stems from the desire to simplify email setups, reduce the need for external software, and enable a broader audience to set up their own email servers. In this research, we will create lightweight email servers and routing engines using the simplicity of PHP, designed as a single file so that it can easily be incorporated into other projects. These servers will be minimalistic yet robust, ensuring that they require minimal external dependencies while delivering efficient performance.

Schedule:

Week 1: Sept.1-5Initial discussion; project overview and analysis.
Week 2: Sept.6-12Finalize project topic and all deliverables.
Week 3: Sept.13-19Research topics: smtp, imap, postfix, dovecot, GitHub - atto server
Week 4: Sept.20-26Complete deliverable 1.
Week 5: sept.26-Oct.3Read about http method implementations and start deliverable 2.
Week 6: Oct.4-10Complete deliverable 2.
Week 7: Oct.11-17Research the existing architecture.
Week 8: Oct.18-24Read about postfix and dovecot.
Week 9: Oct.25-31Start deliverable 3: brainstorm the new feature to be added.
Week 10: Nov.1-7Complete deliverable 3.
Week 11: Nov.8-14Understand the QUIC algorithm in depth.
Week 12: Nov.15-21Research on implementation of the QUIC algorithm.
Week 13: Nov.22-28Complete deliverable 4.
Week 14: Nov.29-Dec.5Start working on the project report.
Week 15: Dec.6-12Complete deliverable 5.

Deliverables:

The full project will be done when CS298 is completed. The following will be done by the end of CS297:

1. Get latest copy of atto server and create a small project which uses WebSite.

2. Implement GET and POST requests.

3. Research the existing SMTP architecture and add a new feature.

4. Implement GET and POST requests using the QUIC algorithm.

5. Project report.

References:

[AuthorYear] Reference_work. Author_Names. Publisher. Year.