manu-p-1 / meet

💳 Marqeta Hackathon Project - MEET - A structured and plan-based expense management platform for the modern age powered by Marqeta's modern card issuing API
MIT License
5 stars 2 forks source link
1st-place bootstrap covid-19 dashboard expense-tracker fintech flask marqeta marqeta-hackathon marqeta-python-sdk python website

MEET Logo Einberg & Ying LLP

Marqeta Extended Expense Tracker (MEET)

Made with Python Built with love Built by developers Gluten Free
Last Commit MEET contributors



Criterion

For the Marqeta Spring Payments Hackathon, we wanted to demonstrate the flexibility and practicality of the Marqeta API and the Marqeta Python SDK with our demo, MEET.

Introduction

MEET is a platform powered by Marqeta made for companies willing to forgo tradition and move to a tool that lets you have perspective over where your company stands.

Imagine yourself as the manager of your accounting department at Einberg & Ying LLP, your traditional company of today. MEET enables you to keep track of all the expenses in your department, whether they be department wide or down to the minute employee expenditure. With transparency built into MEET as an expectation, losing track of money and having to snoop around to see what went where is a thing of the past.

One of the primary use cases of MEET is that it allows companies to follow a plan-based approach of how they want their funds to be distributed. MEET enables managers to create plans for when they want money to be distributed to their department's employees or whether they need to transfer funds to another department. Once these plans are created, they are inserted into your database and are checked on a scheduled basis, allowing for strict management of company funds. These plans are only executed once their start date is reached and stopped in the same manner (when their stop date is reached).

Key advantages and Benefits of MEET

Audience

The intended audience is any person with a leadership position within a business who desires a streamline perspective of cash-flow within different departments or individuals.

How we utilized Marqeta's API through our demo

MEET is simply an expense manage management platform which is demonstrated through a fake company we created. When our server starts, we simulate in certain stages. The first stage involves creating a fake company and employees. A certain amount of money is randomly generated and inserted into the main business. Later, new departments are created and employees are randomly placed in those departments. Afterwards, we run simulations on spending to make it look like a certain percentage of employees have spend parts of the department's money; all by the time you login.

In effect, this means that very little of the information you see on your screen is hard-coded/pre-determined, and that two factors: time along with the creation of new plans will have an effect on the dashboard overview data that you see.

The Marqeta Python SDK is used extensively to simulate Einberg & Ying LLP's spending, enabling funding of the master GPA balance of Einberg & Ying to trickle down to the individual employee GPA's.

MEET platform structure

We access several Marqeta API endpoints to create business accounts, department accounts, employee accounts, and virtual cards. In the following diagram, symbolic names are bolded whereas API endpoints are labeled with "API":

Hierarchy Map

User Interface

The dashboard overview has generalized data for the entire company and your department

Dashboard Overview

The new plan form allows you to create a new plan for employees. The funds can be distributed to a department account or to individual employees' accounts in the company. Hover over the labels to view helpful tooltips.

New Plan

How to view our demo

There are two ways to view/try out the project:

  1. www.einbergandying.com

    If you choose to go to our website, here are is list of available login details (each name represents a different department):

    email password
    AC@eay.com root
    IT@eay.com root
    MK@eay.com root
    HR@eay.com root
    PD@eay.com root
    RD@eay.com root
    SC@eay.com root
    LG@eay.com root
  2. Read the "technical" portion the README to install it yourself.

Technical? Run it yourself!

Requirements

Windows user?

Are you a Windows user? Have you ever worked in a group of people with Unix based machines? I know what that feels like! Luckily, there are great Linux wrappers for Windows such git bash, MinTTY, cygwin, or WSL (Windows subsystem for Linux). Install any one of these to run the shell script that starts out program.

Setup

Run pipenv install if you are cloning the project for the first time or if any new packages have been added.

Execution

For development on a unix based environment: pipenv run server

For development on a windows environment: pipenv run ws