You will need to create a simple tool of 3 modules:
- Very simple account/login module. Asks for email/password, creates an account, allows to log in to the account. Account "area" is 1 page - a "summary" (see below). You can optionally create "change password" page but it is not required.
- IMAP email metadata download and store: once logged in, user provides login credentials for an imap account. Credentials are: username, password, IMAP server, connection securtiy. Once provided, those credentials are validated (by opening and closing connection to IMAP server to provide possible error to the user) and if validated stored in the database. A script should then connect to IMAP server and download metadata about all messages and their attachments. Detailed list of fields required to be stored will be provided upon project discussion.
- the Summary page lists all user's IMAP accounts showing "statistics" about each account. Statistics will be derived from the metadata stored for his email accounts. Detailed list of metrics required to be shown will be provided upon project discussion. Simple actions should allow to remove an IMAP account from the Summary, change credentials.
Few implementation notes:
- IMAP metadata download script should work in the sync mode: only keep items which exist on the server, update according metadata if changed, add differences. It is expected that download script will be launched on a regular basis using cron or any other scheduler and should gracefully update existing accounts as well as fetch new.
- "View" should be strictly separate from the code. All code should be modular and well documented inline, while templates should never be a part of the code. Code prepares data, template displays data.
- No external frameworks should be used, other than lightweight and popular frameworks for specific features like database connection, IMAP connection handling etc. We are looking for clean, readable and easily maintainable code.
9 freelancers are bidding on average $374 for this job
Hello Good Day Thanks for inviting me for this project. I have worked with IMAP meta data processing. I have clearly understood your requirements. Looking forward to hear from you. Thanks Rinsad
Hello there. I've got ready account system with 1 page area + change password option, so the only thing to do would be these 2 modules. Feel free to contact with me and then we can discuss the rest of stuff.