Skip to content

simone98dm/house-m8-fe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏠 House M8

Modern roommate expense management platform built with Nuxt 4, Vue 3, and PostgreSQL.

Manage shared expenses, recurring bills, and house finances with your roommates - all in one place.

License: MIT Nuxt 4 Vue 3 TypeScript


✨ Features

  • 🏠 Multi-House Management - Create and switch between multiple shared spaces
  • 💰 Smart Expense Splitting - Automatic equal splits with payment tracking
  • 📄 Recurring Bills - Manage subscriptions and regular payments
  • 📊 Balance Calculator - Real-time who-owes-what calculations
  • 📋 Bulletin Board - House announcements and sticky notes
  • 🌍 Multi-Currency - Support for EUR, USD, GBP, and more
  • 📱 Progressive Web App - Installable on mobile and desktop
  • 🔒 Secure - JWT-based authentication with PostgreSQL

🚀 Quick Start

# Clone repository
git clone https://github.com/your-username/house-m8-fe.git
cd house-m8-fe

# Install dependencies
npm install

npm install

Setup PostgreSQL database

→ Full setup guide: See database migrations in database/ folder


📚 Documentation

Getting Started

Quick Setup:

  1. Clone the repository
  2. Install dependencies: npm install
  3. Set up PostgreSQL database (see database/ folder)
  4. Configure environment variables (copy .env.example to .env)
  5. Run development server: npm run dev

Backend Documentation

Complete backend documentation is available in server/README.md, including:

  • API endpoints reference
  • Database schema documentation
  • Authentication & authorization
  • Architecture overview

Additional Resources


🛠️ Tech Stack

Layer Technology
Framework Nuxt 4.1 (Vue 3.5, Nitro server)
Language TypeScript 5.7 (strict mode)
State Management Pinia 2.x (Composition API)
Database PostgreSQL (with custom auth & storage)
Styling Tailwind CSS 3.x
Testing Vitest + Vue Test Utils + Playwright
Deployment Vercel (recommended)

🏗️ Architecture Overview

House M8 follows a clean 4-layer architecture:

Request Flow: Component → Store → API Composable → Server → Database

→ Learn more: See architecture details in server/README.md


💻 Available Scripts

# Development
npm run dev              # Start dev server with hot reload
npm run build            # Production build
npm run preview          # Preview production build

# Code Quality
npm run lint             # Run ESLint
npm run lint:fix         # Fix ESLint errors
npm run type-check       # Check TypeScript types

# Testing
npm run test             # Run unit tests
npm run test:watch       # Run tests in watch mode
npm run test:coverage    # Generate coverage report

🤝 Contributing

We welcome contributions! Please read our Contributing Guide to get started.

Quick Contribution Steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

→ Full contribution guide: CONTRIBUTING.md


📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


🙏 Acknowledgments

  • Nuxt Team - Amazing framework
  • PostgreSQL - Reliable database
  • Vue.js Community - Awesome ecosystem
  • Contributors - Thank you for your contributions!

📞 Contact


⭐ Show Your Support

If you find this project helpful, please give it a ⭐ on GitHub!