Acumendata


Acumendata is a company that offers technology solutions to mid to enterprize level companies.

They needed a simple solution to automate the error handling of their customer's CSV imports. Too many users imported CSV files with errors and their team was super busy analyzing and fixing these.


Design of UI

We started off with rough mockups to define the user flows of the application. The design itself had to serve the purposes of the admin users and their customers. We used the brand's colors and implemented a clean and useful user interface.


Development

We built this in Ruby on Rails. The app validates uploaded csv files against a previously csv template added. We implemented the validation functionality using a library called CSVLint. Once the validation is done the app returns a complete report of the conflicts the imported CSV presents and an efficient solution for them.

class CsvFilesController < ApplicationController
  def destroy
    @csv = CsvFile.find(params[:id])
    @csv.destroy
    redirect_to csv_files_validations_path and return
  end
end
def unzip(url, group)
  zip = open(url)
  @files = Unzipper.new(zip).unzip
  @files.each do |file|
    @file = CsvFile.create(filename: open(file), group_id: session[:group_id])
  end
end

Our Process

Meetings

We have weekly calls where we discuss progress. We use Skype, Google Hangouts or GotoMeeting.

We agreed on a day and time that worked for everyone.

Planning

In the beginning we send a timeline specifying the planning and tasks for that week.

These tasks are the same cards we have planned in Trello.

Trello

We translate all requirements into stories in Trello Cards.

Trello is the place to add any specification, ask questions or comments to the team.

Deliveries

Once the tasks are done they go through a testing process and we pass them for your approval.

Every week we will pass cards onto the client list for you to give us feedback.

Quality Assurance

Once the functionality is completed one of our functional testers will try to break the feature.

We either move it to Needs Improvement or pass it to you for feedback.

Feedback

We need the support from you to review the cards and Approve them or tell us how to improve it.

This is key to meet goals and being on time in the development of the application.