WebBillsView is a modern, responsive web application for tracking and managing your personal bills and payments. Built with React and Material UI, it offers a clean and intuitive interface for authenticated users to register, organize, and review their billing history. The frontend securely connects to a Spring Boot API using JWT authentication, and the application is production-ready, deployed on AWS with CloudFront and ECS Fargate.
- User Registration & Account Management: Secure sign-up and profile management with real-time frontend validation that matches backend rules.
- Advanced Bill Table: Powerful data table with filtering, sorting, pagination, and customizable columns.
- State Persistence: Table filters, pagination, and user preferences are automatically saved using sessionStorage for a seamless user experience.
- Consistent Validation: Centralized regex logic ensures consistent validation for emails and passwords both on the frontend and backend.
- Responsive Design: Fully responsive UI built with Material-UI for a smooth experience on desktop and mobile devices.
- API Integration: Robust handling of backend API responses, including support for DTO wrappers.
- Date & Filter Management: Graceful handling of date pickers and input validation for filters.
- Security: Secure logout, automatic state clearing on sign-out, and JWT-based authentication.
- Deployment Ready: Easily deployable to AWS infrastructure via CloudFront and ECS.
- Node.js (v16 or higher recommended)
- npm (v8 or higher)
- Clone the repository:
git clone https://github.com/mhackett909/WebBillsView.git cd WebBillsView
- Install dependencies:
npm install
Start the development server:
npm startThe app will be available at http://localhost:3000.
To build the app for production:
npm run buildThe optimized build will be in the build/ directory.
src/- Main source codecomponents/- Reusable UI componentspages/- Page-level componentsutils/- Utility functions (API, regex, etc.)styles/- CSS files
public/- Static assetsbuild/- Production build output
- Update backend API URLs and endpoints in
src/utils/BillsApiUtil.jsas needed. - Adjust validation logic in
src/utils/Regex.jsto match your backend requirements.
- WebBills UI GitHub Repository - Find the latest source code and updates.
- WebBills GitHub Repository - Backend repository.
This project is licensed under the MIT License. See LICENSE for details.