Find Jobs
Hire Freelancers

Django based Framework for FTP and HTTP upload processing

$500-5000 USD

En curso
Publicado hace más de 14 años

$500-5000 USD

Pagado a la entrega
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
ID del proyecto: 2979350

Información sobre el proyecto

2 propuestas
Proyecto remoto
Activo hace 14 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
Adjudicado a:
Avatar del usuario
See private message.
$490,06 USD en 17 días
5,0 (26 comentarios)
5,0
5,0
2 freelancers están ofertando un promedio de $670 USD por este trabajo
Avatar del usuario
See private message.
$850 USD en 17 días
0,0 (0 comentarios)
0,0
0,0

Sobre este cliente

Bandera de GERMANY
Germany
4,2
31
Miembro desde oct 24, 2006

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.