Skip to content

raptor1989/expenses-fullstack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Household Expenses Management App

A full-stack TypeScript application for managing household expenses. Built with a monorepo structure using Turborepo.

Features

  • User Authentication: Secure JWT-based authentication system
  • Expense Management: Create, update, delete, and categorize expenses
  • Categories: Organize expenses by customizable categories
  • Dashboard: Visualize spending patterns
  • Responsive UI: Works on mobile and desktop

Tech Stack

Frontend

  • React (with Vite)
  • TypeScript
  • Material-UI
  • React Router
  • Formik & Yup (form handling)
  • Nivo (data visualization)
  • Axios (API client)

Backend

  • Node.js
  • Express.js
  • TypeScript
  • PostgreSQL (with node-postgres)
  • JWT Authentication

Development Tools

  • Turborepo (monorepo management)
  • ESLint
  • TypeScript
  • PM2 (production process management)

Project Structure

expenses-fullstack-js/
├── apps/
│   ├── api/              # Express.js backend
│   └── web/              # React frontend
├── packages/
│   └── shared/           # Shared types and utilities
└── scripts/              # Setup and deployment scripts

Getting Started

Prerequisites

  • Node.js (v16+)
  • PostgreSQL (v12+)
  • npm or yarn

Setup

  1. Clone the repository
  2. Install dependencies:
npm install
  1. Set up environment variables:
# In apps/api directory
cp .env.example .env
# Edit the .env file with your database credentials and JWT secret
  1. Initialize the database:
cd apps/api
npm run db:migrate
npm run db:seed # Optional - adds sample data

Development

Start all services in development mode:

npm run dev

Or start individual services:

# API only
npm run dev:api

# Web only
npm run dev:web

Build for Production

Build all packages and apps:

npm run build

Deployment

Deploy using PM2:

npm run start:pm2

API Documentation

The API endpoints are available at /api/v1 and include:

  • /api/v1/auth - Authentication
  • /api/v1/users - User management
  • /api/v1/expenses - Expense CRUD operations
  • /api/v1/categories - Category management

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors