Initial commit
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
## Development
|
||||
|
||||
- Go 1.25 or higher
|
||||
- Node.js 22 or higher
|
||||
- Air (for Go hot reload): `go install github.com/air-verse/air@latest`
|
||||
- SQLite built with FTS5 support (for full-text search)
|
||||
- libheif, for conversion of images
|
||||
- If not installed, HEIC images will display as placeholder images
|
||||
- ffmpeg, for conversion of videos
|
||||
- If not installed, 3gp videos won't play
|
||||
|
||||
Build with `go build -tags "fts5 heic"`
|
||||
|
||||
## Tests
|
||||
|
||||
Run all tests:
|
||||
```bash
|
||||
go test -tags "fts5 heic"
|
||||
```
|
||||
|
||||
## Backend Setup
|
||||
|
||||
1. Install Go dependencies:
|
||||
```bash
|
||||
go mod download
|
||||
```
|
||||
|
||||
2. Run the backend with hot reload:
|
||||
```bash
|
||||
air
|
||||
```
|
||||
|
||||
Or without hot reload:
|
||||
```bash
|
||||
go run -tags "fts5 heic" .
|
||||
```
|
||||
|
||||
The backend will start on `http://localhost:8081`
|
||||
|
||||
## Frontend Setup
|
||||
|
||||
1. Navigate to the frontend directory:
|
||||
```bash
|
||||
cd frontend
|
||||
```
|
||||
|
||||
2. Install npm dependencies:
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
3. Run the development server:
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
The frontend will start on `http://localhost:5173`
|
||||
|
||||
## Backend Hot Reload
|
||||
|
||||
The backend uses [Air](https://github.com/air-verse/air) for hot reload. When you save a `.go` file, Air will automatically rebuild and restart the server.
|
||||
|
||||
## Frontend Hot Reload
|
||||
|
||||
The frontend uses Vite's built-in hot module replacement (HMR). Changes to React components will be reflected instantly without a full page reload.
|
||||
|
||||
# Usage
|
||||
|
||||
1. **Start both servers** - Run the backend and frontend development servers
|
||||
2. **Open the app** - Navigate to `http://localhost:5173` in your browser
|
||||
3. **Upload backup** - Click "Upload Backup" and select your XML file
|
||||
4. **Browse messages** - Click on conversations to view message threads
|
||||
5. **Filter by date** - Use the date pickers to filter messages by date range
|
||||
Reference in New Issue
Block a user