- React
- React-Redux, Redux-Thunk
- Typescript, HTML, SCSS
- http-proxy-middleware
- Bootstrap 5
- Chart.js
-
Display Air Conditioner Information
- Air conditioner information:
userTemp, userMode, userDate, userTime, userWindStrength, userWindAngle - Current information:
curHumid, curTemp - Fetch air conditioner information from the server using GET
- Global state management through
StatusReducer.ts
- Air conditioner information:
-
Remote Control Functionality
- Modify currently operating air conditioner information by pressing buttons (e.g., changing temperature)
- Update information in
StatusReducer.tsand POST to the server for storage
-
Chatbot Functionality
- Conversations with a chatbot through chat messages
- POST questions to a general QnA server and receive responses
- POST base64-based image data to a Vision AI server for air conditioner classification and analysis
- Global state management through
ChatReducer.ts
-
Reservation Calendar
- Users can manually select dates on the calendar to schedule air conditioner operating times
- Global state management through
Calendar.ts
- Fetch model prediction results from the server using GET and visualize them using Chart.js as a Line Chart
- Display information in
Status.tsxduring prediction initiation based on prediction data - Fetch user information from the server again after prediction completion
- Air conditioner information (GET Response) - Managed by
StatusReducer.ts - Chatbot response results (POST Response) - Managed by
ChatReducer.ts - Prediction model results (GET Response) - Managed by
DashboardReducer.ts
-
Controller.tsx modification results (POST) - Managed by
StatusReducer.ts -
User questions for the chatbot (POST) - Managed by
ChatReducer.ts -
Calendar reservation data (Backend transmission of manually registered operating times)(Not implemented) -
Asynchronous communication implemented using Redux-thunk within Redux
-
PageReducer.ts- Manages page numbers in
Interface.tsx, globally for future page references
- Manages page numbers in
-
StatusReducer.ts- Manages air conditioner information (user, cur) data
-
ChatReducer.ts- Manages chat history (questions/answers)
-
CalendarReducer.ts- Manages manually registered air conditioner operating data - date/time and air conditioner information
-
DashboardReducer.ts- Stores prediction result in an array data type
- Utilizing Bootstrap 5, SCSS
- Implemented as a web app (webapp)
- Two main components in
App.tsx:Interface.tsx, Dashboard.tsx- View Status -
Status.tsx - Remote Controller -
Controller.tsx - AI Chat -
Chat.tsx - View Calendar -
Calendar.tsx - Data Visualization -
Dashboard.tsx
- View Status -
npm i react-scripts axios @types/http-proxy-middlewarenpm i @reduxjs/toolkit react-reduxnpm i @types/node @types/react @types/react-dom @types/jestnpm i node-sassnpm i react-chartjs-2 chart.js



