Our project focuses on providing a robust mobile application to track and manage key asset metrics effectively.
Our team successfully developed a mobile application designed to help companies track and manage metrics of various assets. The primary goal of this project was to simplify asset management and increase awareness of usage patterns, which could lead to significant reductions in operational costs. Data-driven asset management techniques have the potential to deliver up to 15% annual savings.
- Interactive Monitoring: Track key asset metrics with ease.
- Data Visualization: Visualize data across time periods (weekly, monthly, yearly).
- Role-Based Access: Support for administrators and regular users.
- Charts and Graphs: Clear and interactive data presentations.
The application features a well-structured architecture divided into the following layers:
- Frontend
- Intuitive and user-friendly UI/UX.
- Role-based access control for administrators and users.
- Interactive charts and tables for data visualization.
- Backend
- RESTful API for efficient request handling.
- Scalability and robust architecture for backend operations.
- Database
- MySQL for reliable data storage, retrieval, and management.
This project was built using the following major frameworks, libraries, and tools:
- React Native
- Expo
- Node.js
- Express.js
- MySQL
To set up the project locally and get it running, follow the steps below. These instructions will guide you through installing dependencies, configuring the environment, and running the application.
Ensure the following prerequisites are installed on your system:
- Node.js:
- npm (comes with Node.js)
- Install Node.js and npm here.
- Visual Studio Code:
- Recommended for editing and managing the project.
- Download it from here.
- Android Studio:
- Required for running and testing the application on an Android emulator.
- Follow these steps to set it up:
Download and Install Android Studio: here.
-
Open Android Studio.
-
Go to More Actions > Virtual Device Manager.
-
Create Virtual Device.
-
Select a device model (e.g.,Pixel 8) and click Next.
-
Download a recommended system image (e.g.,R) if not already installed and select a System Image and click Next.
-
Verify configuration and Finish the setup.
-
Start the emulator by clicking the play icon.
- MySQL Workbench:
- Download it from here.
Follow these steps to install and configure the project locally:
- Clone the repository
git clone https://github.com/AndreiSusha/SmartFlow.git- Navigate to the project directory
cd your_repo_nameThis project includes a database dump file to help you set up the SmartFlow database.
- Ensure you have MySQL installed and running on your machine.
- Open MySQL Workbench or any other MySQL client.
- Follow these steps to import the database:
- Open MySQL Workbench and go to Server > Data Import.
- Select Import from Self-Contained File and choose the file
database/SmartFlow.sql. - Select or create a new schema (database) named
SmartFlow. - Start the import process.
-
After the import, run the following query in MySQL Workbench to ensure the data is loaded:
USE SmartFlow; SHOW TABLES;
- Backend:
- Navigate to the director:
cd Backend- Create a .env file:
MYSQL_HOST=127.0.0.1
MYSQL_USER=root
MYSQL_PASSWORD=your_password
MYSQL_DATABASE=smartflow
PORT=3000- Install NPM dependencies:
npm install- Start the backend server:
npm start- Frontend
- Navigate to the directory:
cd frontend- Create a .env file: Add the backend API URL:
EXPO_PUBLIC_API_BASE_URL="http://your_IP_Address:3000/"- Install NPM dependencies:
npm install- Start the frontend project:
npm start- If you’re testing on a physical device, scan the QR code with the Expo Go app.
- If you're using an emulator, ensure it is running before starting the project.
- Press a in the terminal to run the project on the Android emulator.





