/battery-status

simple dashboard representing battery charging data built with mui charts

Primary LanguageTypeScriptMIT LicenseMIT

Sonnen Battery Status Dashboard

This project is a React application built with Vite, TypeScript, and Material-UI. It displays battery charging data in a user-friendly dashboard.

Project Structure

  • public/: Public assets and mock data (backend-response.json).
  • src/: Contains the source code of the application.
    • components/: Reusable UI components.
      • charts/: Chart components (e.g., AreaChart).
      • ui/: UI components (e.g., Header).
    • constants/: Constants.
    • layout/: Layout components (e.g., AppLayout).
    • pages/: Application pages.
    • providers/: Providers (e.g., AppProvider).
    • routes/: Application routes.
    • types/: Type definitions.
    • theme/: Theme configuration.
    • App.tsx: Root component.
    • main.tsx: Entry point.

Features

  • โšก๏ธ Vite for fast development and building
  • ๐Ÿ”‘ TypeScript for type safety
  • โš›๏ธ React for building user interfaces
  • ๐Ÿ“Š Material-UI for consistent, responsive, and accessible design
  • ๐Ÿ“ˆ MUI X-Charts for accessible data visualization
  • ๐Ÿงญ React Router for navigation
  • ๐ŸŽจ Emotion for CSS-in-JS styling
  • ๐Ÿงน ESLint for code quality
  • ๐Ÿ”„ Absolute imports configured in ESLint
  • ๐Ÿ’… Prettier for code formatting
  • ๐Ÿถ Husky for Git hooks
  • ๐Ÿšซ lint-staged for running linters on Git staged files
  • ๐Ÿ“ commitlint for conventional commit messages
  • ๐Ÿ”„ Absolute imports configured
  • ๐Ÿ“ฆ Lazy loading and code splitting for optimized performance
  • ๐Ÿค– robots.txt file for proper web crawler guidance

Getting Started

  1. Clone the repository
  2. Install dependencies:
    pnpm install
    
  3. Start the development server:
    pnpm run dev
    

Scripts

  • pnpm run dev: Start the development server
  • pnpm run build: Build for production
  • pnpm run lint: Run ESLint
  • pnpm run preview: Preview the production build locally
  • pnpm run prepare: Set up Husky

Commit Convention

This project uses conventional commits. Please follow the Conventional Commits specification when making commits.

Contributing

Contributions are welcome! Please ensure you follow the project's commit convention and code style guidelines.

License

MIT