|
|
|
# Building TimeSafari
|
|
|
|
|
|
|
|
This guide explains how to build TimeSafari for different platforms.
|
|
|
|
|
|
|
|
## Prerequisites
|
|
|
|
|
|
|
|
- Node.js (LTS version recommended)
|
|
|
|
- npm (comes with Node.js)
|
|
|
|
- Git
|
|
|
|
- For iOS builds: macOS with Xcode installed
|
|
|
|
- For Android builds: Android Studio with SDK installed
|
|
|
|
- For desktop builds: Additional build tools based on your OS
|
|
|
|
|
|
|
|
## Initial Setup
|
|
|
|
|
|
|
|
1. Clone the repository:
|
|
|
|
```bash
|
|
|
|
git clone [repository-url]
|
|
|
|
cd TimeSafari
|
|
|
|
```
|
|
|
|
|
|
|
|
2. Install dependencies:
|
|
|
|
```bash
|
|
|
|
npm install
|
|
|
|
```
|
|
|
|
|
|
|
|
## Web Build
|
|
|
|
|
|
|
|
To build for web deployment:
|
|
|
|
|
|
|
|
1. Run the production build:
|
|
|
|
```bash
|
|
|
|
npm run build
|
|
|
|
```
|
|
|
|
|
|
|
|
2. The built files will be in the `dist` directory.
|
|
|
|
|
|
|
|
3. To test the production build locally:
|
|
|
|
```bash
|
|
|
|
npm run serve
|
|
|
|
```
|
|
|
|
|
|
|
|
## Desktop Build (Electron)
|
|
|
|
|
|
|
|
To build the desktop application:
|
|
|
|
|
|
|
|
1. Run the Electron build:
|
|
|
|
```bash
|
|
|
|
npm run build:electron
|
|
|
|
```
|
|
|
|
|
|
|
|
2. The built files will be in `dist-electron`.
|
|
|
|
|
|
|
|
3. To run the desktop app:
|
|
|
|
```bash
|
|
|
|
electron dist-electron
|
|
|
|
```
|
|
|
|
|
|
|
|
## Mobile Builds (Capacitor)
|
|
|
|
|
|
|
|
### iOS Build
|
|
|
|
|
|
|
|
Prerequisites: macOS with Xcode installed
|
|
|
|
|
|
|
|
1. Build the web assets:
|
|
|
|
```bash
|
|
|
|
npm run build -- --mode capacitor
|
|
|
|
```
|
|
|
|
|
|
|
|
2. Add iOS platform if not already added:
|
|
|
|
```bash
|
|
|
|
npx cap add ios
|
|
|
|
```
|
|
|
|
|
|
|
|
3. Update iOS project with latest build:
|
|
|
|
```bash
|
|
|
|
npx cap sync ios
|
|
|
|
```
|
|
|
|
|
|
|
|
4. Open the project in Xcode:
|
|
|
|
```bash
|
|
|
|
npx cap open ios
|
|
|
|
```
|
|
|
|
|
|
|
|
5. Use Xcode to build and run on simulator or device.
|
|
|
|
|
|
|
|
### Android Build
|
|
|
|
|
|
|
|
Prerequisites: Android Studio with SDK installed
|
|
|
|
|
|
|
|
1. Build the web assets:
|
|
|
|
```bash
|
|
|
|
npm run build -- --mode capacitor
|
|
|
|
```
|
|
|
|
|
|
|
|
2. Add Android platform if not already added:
|
|
|
|
```bash
|
|
|
|
npx cap add android
|
|
|
|
```
|
|
|
|
|
|
|
|
3. Update Android project with latest build:
|
|
|
|
```bash
|
|
|
|
npx cap sync android
|
|
|
|
```
|
|
|
|
|
|
|
|
4. Open the project in Android Studio:
|
|
|
|
```bash
|
|
|
|
npx cap open android
|
|
|
|
```
|
|
|
|
|
|
|
|
5. Use Android Studio to build and run on emulator or device.
|
|
|
|
|
|
|
|
## Development
|
|
|
|
|
|
|
|
To run the application in development mode:
|
|
|
|
|
|
|
|
1. Start the development server:
|
|
|
|
```bash
|
|
|
|
npm run dev
|
|
|
|
```
|
|
|
|
|
|
|
|
## Testing
|
|
|
|
|
|
|
|
Run local tests:
|
|
|
|
```bash
|
|
|
|
npm run test-local
|
|
|
|
```
|
|
|
|
|
|
|
|
Run all tests (includes building):
|
|
|
|
```bash
|
|
|
|
npm run test-all
|
|
|
|
```
|
|
|
|
|
|
|
|
## Linting
|
|
|
|
|
|
|
|
Check code style:
|
|
|
|
```bash
|
|
|
|
npm run lint
|
|
|
|
```
|
|
|
|
|
|
|
|
Fix code style issues:
|
|
|
|
```bash
|
|
|
|
npm run lint-fix
|
|
|
|
```
|
|
|
|
|
|
|
|
## Notes
|
|
|
|
|
|
|
|
- The application uses PWA (Progressive Web App) features for web builds
|
|
|
|
- Electron builds disable PWA features automatically
|
|
|
|
- Build output directories:
|
|
|
|
- Web: `dist/`
|
|
|
|
- Electron: `dist-electron/`
|
|
|
|
- Capacitor: `dist-capacitor/`
|
|
|
|
|