Skip to content

Venmo is a mobile payment service which allows friends to transfer money to each other.

Notifications You must be signed in to change notification settings

JulianPasquale/venmo-api

Repository files navigation

VENMO

Venmo is a mobile payment service which allows friends to transfer money to each other.

Getting started

Dependencies

To be able to run this project, you will need:

  • PostgreSQL.
  • Ruby 2.7.2.
  • Bundler gem.

Instructions

  1. Clone this repository.
  2. Install PostgreSQL in case you don't have it.
  3. Configure your environment variables creating a .env file.
    • You'll find a .env.sample with a sample configuration.
  4. Run bundle install.
  5. Create and migrate your database.
    • Run rails db:create db:migrate
    • Optional: You can also run rails db:seed to get some sample data.
  6. That's it! You can start the server with rails s command.

Getting started with Docker

Dependencies

To be able to run this project with Docker, you will need to have:

  • Docker.
  • PostgreSQL.

Instructions

  1. Clone this repository.
  2. Install PostgreSQL in case you don't have it.
  3. Configure your environment variables creating a .env file.
    • You'll find a .env.sample with a sample configuration.
    • If you set MIGRATE=true, your database will be automatically created and migrated.
    • If you set SEED=true, your database will be initialized with some sample data automatically.
  4. Build the image:
    • $ docker build -t venmo .
  5. Run the container:
    • $ docker run -p 3000:3000 --env-file=.env -it venmo

Note: You can also use Docker to run the tests.

$ docker run -p 3000:3000 --env-file=.env -it venmo rspec

Getting started with Docker Compose

Dependencies

To be able to run this project with Docker Compose, you only need to have Docker and Docker Compose installed in your computer!

Instructions

  1. Clone this repository.
  2. Configure your environment variables creating a .env file.
    • You'll find a .env.sample with a sample configuration. Notice that not all the configurations are mandatory.
    • If you set MIGRATE=true, your database will be automatically created and migrated.
    • If you set SEED=true, your database will be initialized with some sample data automatically.
  3. Build the image:
    • $ docker-compose build
  4. Run the container:
    • $ docker-compose up

Testing

This project includes some models and services unit tests.

You can run the tests with the following command:

$ rspec # or bundle exec rspec

Code quality

This app follows the community best practices and standars of security and mantainability.

To run the code analysis tools you can run the command:

$ bundle exec rake code_analysis

Gems

Code quality gems

Testing gems

Additional documentation

To get more information about the project, models and business rules, please check the wiki docs!

There you will find some API documentation, diagrams and a Postman collection to download.

About

Venmo is a mobile payment service which allows friends to transfer money to each other.

Resources

Stars

Watchers

Forks

Languages