Skip to content

alkapwn3d/tenmo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tenmo

A peer-to-peer payment application inspired by Venmo. Users can register, send money to other users, request payments, and track their transaction history.

Features

  • User registration and JWT-based authentication
  • Account balance management (deposits, withdrawals)
  • Send money to other registered users with balance validation
  • Request payments from other users
  • Approve, reject, or cancel pending transfer requests
  • View transaction history filtered by sender or receiver

Tech Stack

  • Backend: Java 11, Spring Boot, Spring Security (JWT)
  • Database: PostgreSQL
  • Build: Maven

Database Schema

Three core tables:

  • tenmo_user — credentials and authentication
  • account — user balances (each new account starts at $1,000)
  • transfer — transaction records with status tracking (pending, approved, rejected, cancelled)

API Endpoints

All endpoints except registration and login require a valid JWT token.

Accounts

  • GET /account/balance — get current balance
  • PUT /account/deposit — deposit funds
  • PUT /account/withdraw — withdraw funds

Transfers

  • POST /transfer/send — send money to a user
  • POST /transfer/request — request money from a user
  • PUT /transfer/approve — approve a pending request
  • PUT /transfer/reject — reject a pending request
  • PUT /transfer/cancel — cancel a sent request
  • GET /transfer/find — look up a transfer by ID
  • GET /transfer/find_transfer — list transfers by account

Setup

  1. Create a PostgreSQL database called tenmo
  2. Run database/tenmo.sql to create the schema
  3. Start the server:
    cd tenmo-server
    ./mvnw spring-boot:run
    
    The server runs on port 8080 by default.

About

Tenmo is a Venmo clone. It uses SQL to store user account and transaction data, and Java + Springboot to execute SQL commands via URL-based API endpoints

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors