An open API service indexing awesome lists of open source software.

https://github.com/srudhi6383/counter-app


https://github.com/srudhi6383/counter-app

Last synced: 2 months ago
JSON representation

Awesome Lists containing this project

README

        

# Counter App (MVI Architecture)

## Overview

This project is a Counter App built using *React, RxJS, and Material UI. It follows the *MVI (Model-View-Intent) architecture to ensure clean separation of concerns and reactive state management.

**Link**: [https://counter-rho-one.vercel.app/](https://counter-rho-one.vercel.app/)
## Features
- Increment & Decrement Buttons - Adjusts counter between 0 and 98
- Reset Button - Resets counter to 0
- Auto Increment Toggle - Automatically increments counter every 1.1 seconds when enabled
- RxJS State Management - Implements reactivity for handling user actions
- Material UI Toggle Switch - Styled switch for Auto Increment
- Fully Responsive UI - Optimized for both desktop and mobile screens

## Tech Stack
- Frontend: React, Material UI
- State Management: RxJS (ReactiveX for JavaScript)
- Styling: CSS, Material UI

## Installation and setup
### Prerequisites
Ensure you have Node.js installed.

### Steps to Run the Project
- Clone the repository: git clone https://github.com/srudhi6383/counter-app.git

- Install dependencies: npm install

- Start the development server: npm run dev

- Open the app in your browser: http://localhost:5173

## Usage
- Click the + button to increment the counter.
- Click the - button to decrement the counter.
- Click the Reset button to reset the counter to 0.
- Toggle Auto Increment to start automatic incrementing every 1.1 seconds.

## Screenshot
![Screenshot 2025-01-30 180222](https://github.com/user-attachments/assets/fbc8bc40-2d1b-4991-9c49-2cc1b1220008)