Skip to content
/ eWallet Public

Diseño e implementación de un e-wallet (Prueba Técnica Conekta)

Notifications You must be signed in to change notification settings

memije/eWallet

Repository files navigation

Travis-CI Status

Build Status

Description:

Simple e-Wallet application, developed with Ruby on Rails, deployed to a Heroku live server.

The objective of this exercise is to evaluate the analysis capacity, architecture definition and development practices that a candidate has.

Prerequisites

Software Version
PostgreSQL 9.5.14
Ruby 2.5.1
Rails 5.2.1

Instructions:

  1. Clone repository
# using ssh
$ git clone [email protected]:Memije/eWallet.git

# using https
$ git clone https://github.com/Memije/eWallet.git
  1. Change working directory
$ cd eWallet
  1. Install dependencies
$ bundle install
  1. Initialize Figaro gem
bundle exec Figaro install
  1. Configure the following environment variables in config/application.yml
Key Description
pg_username PostgreSQL username
pg_password PostgreSQL password
KEY 256bit (32bytes) secret key

NOTE: It's important to keep it up to 32 bytes due to OpenSSL's truncation to 32 bytes. You can generate a secure key here.

Example:

# config/application.yml
db_username: 'cleverusername'
db_password: 'cleverpassword'
KEY: "kYp3s6v9y$B&E)H+MbQeThWmZq4t7w!z"
  1. Create, migrate and seed database
$ rake db:create db:migrate db:seed
  1. Run server
$ rails s
  1. ???
  2. PROFIT!!!

Tests

Tested models:

  • Wallet
  • Customer
  • CustomerWallet
  • CardType
  • Card
  • TransactionType
  • TransactionHistory

TODO

  • Modify TransactionHistory to be a polymorphic class
  • Implement CardTransaction class
  • Implement WalletTransaction class
  • Refractor TransactionHistory creation method to ensure polymorphism usage

About

Diseño e implementación de un e-wallet (Prueba Técnica Conekta)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published