A full-stack TypeScript application for tracking steps with Sui blockchain integration, featuring a React frontend and Express backend connected to MySQL database.
- React Frontend with TypeScript
- Express Backend with TypeScript
- MySQL Database integration
- Sui Blockchain integration for step tracking
- Device Management for tracking step data
- User Authentication and role-based access
- Modern UI with responsive design
- Error Handling and loading states
- API Integration with Axios
Before running this application, make sure you have:
- Node.js (v16 or higher)
- MySQL Server (v8.0 or higher)
- npm or yarn package manager
-
Clone or navigate to the project directory:
cd suisteps -
Install all dependencies:
npm run install-all
-
Set up MySQL database:
- Start your MySQL server
- Run the setup script:
mysql -u root -p < database/setup.sql -
Configure environment variables:
- Copy the example environment file:
cd server cp .env.example .env- Edit
.envfile with your MySQL credentials:
DB_HOST=localhost DB_USER=root DB_PASSWORD=your_mysql_password DB_NAME=react_mysql_app DB_PORT=3306 PORT=5000
npm run devThis will start:
- Backend server on
http://localhost:5000 - Frontend development server on
http://localhost:3000
Backend only:
npm run serverFrontend only:
npm run clientsuisteps/
├── client/ # React TypeScript frontend
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── services/ # API service layer
│ │ ├── types.ts # TypeScript interfaces
│ │ ├── App.tsx # Main App component
│ │ └── App.css # Styles
│ └── package.json
├── server/ # Express TypeScript backend
│ ├── src/
│ │ ├── routes/ # API routes
│ │ ├── database.ts # Database connection
│ │ ├── types.ts # TypeScript interfaces
│ │ └── server.ts # Express server
│ ├── .env.example # Environment variables template
│ └── package.json
├── database/
│ └── setup.sql # Database schema and sample data
└── package.json # Root package.json
- React 18
- TypeScript
- Axios for API calls
- CSS3 with modern styling
- Express.js
- TypeScript
- MySQL2 for database connection
- CORS for cross-origin requests
- dotenv for environment variables
- MySQL 8.0+
MIT License - feel free to use this project for learning and development.
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
Happy coding! 🎉



