Find Jobs
Hire Freelancers

Create HTML/PDF invoice inside of base Ruby on Rails project

$250-750 USD

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

$250-750 USD

Pagado a la entrega
If there are any questions, please ask before bidding. If you bid, I assume you understand the project without any questions Versions and Dependencies: Rails 4.1.4 Ruby 2.1.2 Amazon S3 wicked_pdf gem rspec 3 gem Conventions: For all development you do, must write rspec tests, targeting version 3. Where possible, all hashes should target 1.9+ syntax, not hash-rockets. Description: Take data and output a PDF file based on pre-defined HTML. (This process has already been written in a different language) You’ll create a bare Rails 4 app. I’ll provide to you a set of test data, in the form of JSON files (3-5). You’ll create a Ruby class inside of app/models to pull this data out. (This will be a plain class where you return hard-coded data; do not create a proper data model at this time) I’ll provide the HTML we’re currently using, with data, page breaks, etc as pseudo-code. You’ll create a controller and route at invoice/N and invoice/[login to view URL] (N represents an id; you’ll be display the original HTML in the browser and the PDF, accordingly) You’ll use the wicked_pdf gem to render the PDF. As for wkhtmlpdf configuration, assume the production environment is Ubuntu, and the development environment is OSX. If you need to configure development environment for Windows or Linux, that’s fine, but should also work on OSX as well. Do not put all of your logic in the controller; create an InvoiceService class. Take the data in the constructor, settting instance variables. Should use attr_reader setters rather than accessing instance classes directly. Should have to_html and to_pdf methods. #to_html returns rendered HTML. #to_pdf calls to_html, and returns path to rendered PDF file. Process: You will be granted access into our private Github repository. You will then create a branch where you will do all your work. For review, you will submit a pull request into our development branch (during development I won’t be merging, only using the pull request to see diffs). To test, I may pull down code and test locally. You may wish to deploy to Heroku for live testing, but it must work in my local environment. I may test against a CI server (like CodeShip or CircleCI) and/or a static analysis tool like Code Climate. Note that that expectation is that the code will be of best practices quality, so if static analysis indicates issues, even if code functions, revision may be needed. The rendered PDF will be expected to fit into a standard #10 business envelope with right-hand window when printed a folded using an automated tri-fold folding machine; additional work may be needed for proper formatting. (our current solution does this, so the provided HTML should work) Deliverables: Pull request that can be merged. Note: I am a professional developer, and this is an outsourced project. Please approach this project accordingly. If the working relationship is good, there will definitely be follow-up work to this.
ID del proyecto: 6306064

Información sobre el proyecto

11 propuestas
Proyecto remoto
Activo hace 10 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

Sobre este cliente

Bandera de UNITED STATES
Spring, United States
5,0
1
Forma de pago verificada
Miembro desde jul 9, 2014

Verificación del cliente

Otros trabajos de este cliente

Write some Software
min $50 USD / hour
¡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.