RunTrack is a mobile web application designed to help users track and monitor their running sessions. The app will allow users to input essential running metrics such as running time, speed, and pace, providing a detailed overview of each session. Users will be able to log and view their progress over time, helping them optimize their workouts and set personalized fitness goals. The app aims to offer both basic functionality for casual runners and advanced features for serious athletes.
- Languages and Frameworks:
- Java 17
- Spring Boot 3.1
- Libraries:
- Spring Data JPA: Data persistence.
- Spring Security: Authentication and authorization.
- Spring Web: RESTful API development.
- Hibernate: ORM for database management.
- Database:
- H2 Database: Development and testing.
- MySQL: Production environment.
- Build Tool:
- Gradle: Dependency management and build automation.
- Runtime and Deployment:
- Embedded Tomcat server (provided by Spring Boot).
- Languages and Frameworks:
- React.js: Frontend framework.
- React Router: Client-side routing.
- UI Library:
- Material-UI (MUI): For building responsive UI.
- State Management:
- React's useState hook.
- HTTP Client:
- Axios: For API requests.
- Development Environments:
- IntelliJ IDEA (Backend)
- Visual Studio Code (Frontend)
- Version Control:
- Git & GitHub
- Package Manager:
- npm
- Google Cloud Platform(GCP)
- Install Java 17 or higher.
- Install Gradle (optional if using Gradle Wrapper).
- Install Node.js and npm.
- Clone the repository:
git clone https://github.com/cs411-alawini/fa24-cs411-team032-NFLS.git cd runtrack
- Run the backend:
- Using Gradle Wrapper:
./gradlew bootRun
- Or with a globally installed Gradle:
gradle bootRun
- Using Gradle Wrapper:
- Access the API:
- Default URL:
http://localhost:8080
- Default URL:
- Navigate to the frontend directory:
cd runtrack-frontend
- Install dependencies:
npm install
- Start the frontend:
npm start
- Access the application:
- Default URL:
http://localhost:3000
- Default URL:
src/main/java/com/runtrack
├── controller # Handles API requests
├── entity # Database entity classes
├── repository # Database access interfaces
├── service # Business logic
├── config # Configuration files (e.g., CORS, Security)
└── RunTrackApplication.java # Application entry point
- Boyu(Maxwell) Liu - Full-Stack Developer
- Ziheng Qi - Full-Stack Developer
- Xiaoyang Chen - Full-Stack Developer
- Xiaohan Mu - Full-Stack Developer