Find Jobs
Hire Freelancers

Django based Framework for FTP and HTTP upload processing

$500-5000 USD

In corso
Pubblicato più di 14 anni fa

$500-5000 USD

Pagato al completamento
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 "[login to view URL]". 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 [login to view URL] 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 [login to view URL]() to get a nice representation of the GUID. Use them e.g. as ID in couchdb. * Use [login to view URL] * call a dummy-function message_arrived(uuid, username, datastream) when a message arrived. E.g. message_arrived('234FDS234GFSD', '[login to view URL]', '). 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 [login to view URL] - especially apply pep8 and pylint. ## Platform FreeBSD 7.2, Python 2.6, Django 1.0.x
Rif. progetto: 2979350

Info sul progetto

2 proposte
Progetto a distanza
Attivo 14 anni fa

Hai voglia di guadagnare un po'?

I vantaggi delle offerte su Freelancer

Imposta il tuo budget e le scadenze
Fatti pagare per il lavoro svolto
Delinea la tua proposta
La registrazione e le offerte sui lavori sono gratuite
Assegnato a:
Avatar dell'utente
See private message.
$490,06 USD in 17 giorni
5,0 (26 valutazioni)
5,0
5,0
2 freelance hanno fatto un'offerta media di $670 USD
Avatar dell'utente
See private message.
$850 USD in 17 giorni
0,0 (0 valutazioni)
0,0
0,0

Info sul cliente

Bandiera: GERMANY
Germany
4,2
31
Membro dal ott 24, 2006

Verifica del cliente

Grazie! Ti abbiamo inviato tramite email il link per richiedere il tuo bonus gratuito.
Non è stato possibile inviarti l'email. Riprova per piacere.
di utenti registrati di lavori pubblicati
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Caricamento anteprima
Autorizzazione per la geolocalizzazione concessa.
La tua sessione è scaduta ed è stato effettuato il log out. Accedi nuovamente per piacere.