Django based Framework for FTP and HTTP upload processing

For data regularry send by our suppliers we need an combination of FTP-Server and Webapplication. Users upload files and when the upload is finished, files will be automatically processed by our system. Users have different options for upload:

* FTP into a directory "to_hudora"

* HTTP Form based upload (authenticated)

* HTTP POST Based API using the "curl" command line tool (authenticated via OAuth and HTTP-Basic Auth. Use django-piston for it)

Users will be identified by a 13 digit number or a strink like "[url removed, login to view]". When a User is created he is assigned a 16 letter random password which is saved in cleartext and provisioned with the FTP server. this password is then mailed to the E-Mail address of the user. Do my understanding usernames contianing dots and dashes are problemetic with the default django [url removed, login to view] application.

All files uploaded should be saved as attatchmend in a CouchDB together with timestamp, coneccting user, sha256 checksum, IP address.

Users should be provided with an authenticated page where they can see a log file of the files uploaded by them. They should be also able to see a detailed FTP debug log of all acitivity in the last few hours seen from the IP adress from which their browser is currently connecting.

Superusers should be able to inspect the pages/information of all users. USers should be unable to gain any inforation on other users

We also need the opposite file transfer direction. A file and a user id is provided by us, saved in couchdb and then put into a user FTP directory "from_hudora". Besides FTP the users should be able to download and delete files via a web GUI or via a HTTP API.

## Deliverables

Implement the Functionality above using external libraries and OpenSource technology to your liking.

* Files should be identified by unique IDs beeing created out of timestamp + sha256 of the file. I suggest [url removed, login to view]() to get a nice representation of the GUID. Use them e.g. as ID in couchdb.

* Use [url removed, login to view]

* call a dummy-function message_arrived(uuid, username, datastream) when a message arrived. E.g. message_arrived('234FDS234GFSD', '[url removed, login to view]', '). We will later swap theis function with code connecting to our internal software

* provide a function send_message(uuid, username, datastream) for us to call to put a file into the system.

* Add 100% Audit logging to the web-interface.

* Users should have following so far unused fields in theier data model: webhook_url, upload_url.

* Use plain white HTML pages without any additional web-Design

*Use SSL/TLS for FTP and HTTP. No unprotected communication. Use self signed certificates for testing.

Follow [url removed, login to view] - especially apply pep8 and pylint.

## Platform

FreeBSD 7.2, Python 2.6, Django 1.0.x

Habilidades: Amazon Web Services, Vale Tudo, Linux, Python, UNIX

Veja mais: django ftp, where to get python code, where can i get python, web form design guidelines, web design random, web design model pages, web design audit, software coding guidelines, python web framework, python web design, python software testing, python pl, my e mail adress is, information audit, implement oauth, global design technology, ftp framework, framework web design, form framework, external software testing, external audit, download coding software, do blogs need ssl, django file browser, design web gui tool

Acerca do Empregador:
( 31 comentários ) Germany

ID do Projeto: #2979350

Concedido a:


See private message.

$490.06 USD em 17 dias
(26 Comentários)

2 freelancers estão ofertando em média $670 para esse trabalho


See private message.

$850 USD in 17 dias
(0 Comentários)