Skip to content

Instantly share code, notes, and snippets.

@ryenski
Last active October 14, 2019 17:42
Show Gist options
  • Save ryenski/7ec9ab293db69faee1be907c1827412d to your computer and use it in GitHub Desktop.
Save ryenski/7ec9ab293db69faee1be907c1827412d to your computer and use it in GitHub Desktop.
Project Brief for PIX Portal

Project Brief for PIX Portal

We're looking for a talented and competent Ruby on Rails developer to help us re-engineer an existing app that's hard to maintain and expensive. The existing app is built using React on the frontend and Apache Airflow on the backend. We're going to re-engineer the app to make it more maintainable and remove some unneeded complexity that makes it difficult to maintain and expensive to develop.

The purpose of this app is to receive credit card processing reports, apply a markup algorithm, and then generate a report for each store based on the result.

About the app

The current process is handled by two separate apps:

  • The first is a frontend built in React that collects the store and affiliate information and displays the statements.
  • The second part is an Airflow app that downloads the daily data file, processes it, and posts the statements to the database.

While the app works correctly, it is difficult to maintain and expensive to add features. We can make the app easier to manage by bringing it together into a single monolithic app. The advantage of a monolithic architecture in this case is that the database and the business logic can be tightly coupled, which will make the business rules easier to manage and expand.

  • The UI of the existing app is represented in the screenshots below, and can remain largely unchanged. The most important thing is to collect and apply the correct fees for each store.
  • The data file is posted daily to an SFTP server. We’ll need to download the file and process it. A sample of the data file will be provided.
  • The algorithm is fairly straightforward: for each line in the data file, lookup the store, apply the appropriate rates for that line item, and then save the results to a new row in the Statement table.
  • After the data file is completely processed, a report must be generated and then emailed to each store.

How we're approaching this

This is an R&D project. We're aiming to see how much of the existing functionality we can get done in a fixed amount of time. The basic requirements are very specific, but we have some wiggle room around the UI and some additional features.

Who we're looking for

We're looking for freelancers who have at least 5 years of Ruby on Rails experience. Fabulous English communication is a must!

For more information, email ryan@dime.is.

@ryenski
Copy link
Author

ryenski commented Oct 14, 2019

store_fields

individual_statement

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment