Skip to content

avadakedavra-wp/meemo-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Meemo - AI-Powered Productivity App

Meemo Logo

Flutter Go PostgreSQL License

A comprehensive productivity application that combines task management, note-taking, and AI-powered assistance to help users capture, organize, and act on their thoughts and commitments.

🌐 Live Demo β€’ πŸ“– Documentation β€’ πŸ› Report Bug β€’ ✨ Request Feature

✨ Features

  • 🎀 Quick Capture: Voice and text input with AI-powered summarization
  • βœ… Task Management: Intelligent task creation and organization
  • πŸ”” Smart Reminders: Flexible notification system with nudge windows
  • πŸ”— External Integrations: Google Calendar, Slack, and Jira synchronization
  • πŸ“± Offline Support: Full functionality with automatic sync when online
  • 🏠 Home Screen Widget: Quick capture without opening the full app
  • πŸ€– AI Processing: Automatic entity extraction and content summarization
  • 🎨 Modern UI: Material Design 3 with dark/light theme support

πŸ—οΈ Architecture

Tech Stack

  • 🎯 Mobile: Flutter (Dart) with Riverpod state management
  • ⚑ Backend: Go with Fiber web framework
  • πŸ—„οΈ Database: PostgreSQL with Redis caching
  • πŸ€– AI Integration: Kiro (primary) with OpenAI fallback
  • ☁️ Infrastructure: AWS ECS Fargate, RDS, ALB

πŸš€ Quick Start

Prerequisites

  • Go 1.21+
  • Flutter 3.16+
  • PostgreSQL 15+
  • Redis 7+
  • Docker & Docker Compose

1️⃣ Clone & Setup

git clone https://github.com/yourusername/meemo.git
cd meemo

2️⃣ Start Backend

cd backend
cp .env.example .env
go mod download
go run main.go

Backend will be running at: http://localhost:8080

3️⃣ Start Mobile App

cd mobile
flutter pub get
flutter run -d web-server --web-port 3001

Mobile app will be running at: http://localhost:3001

4️⃣ Database Setup

# Using existing PostgreSQL instance
docker exec -it local_pgdb psql -U postgres -c "CREATE DATABASE meemo_dev;"
docker cp backend/migrations/000001_initial_schema.up.sql local_pgdb:/tmp/
docker exec -it local_pgdb psql -U postgres -d meemo_dev -f /tmp/000001_initial_schema.up.sql

πŸ“ Project Structure

meemo/
β”œβ”€β”€ πŸ”§ backend/                 # Go API server
β”‚   β”œβ”€β”€ cmd/                   # Application entry points
β”‚   β”œβ”€β”€ internal/              # Private application code
β”‚   β”‚   β”œβ”€β”€ auth/             # Authentication services
β”‚   β”‚   β”œβ”€β”€ config/           # Configuration management
β”‚   β”‚   β”œβ”€β”€ database/         # Database connection
β”‚   β”‚   β”œβ”€β”€ handlers/         # HTTP handlers
β”‚   β”‚   β”œβ”€β”€ models/           # Database models
β”‚   β”‚   β”œβ”€β”€ services/         # Business logic
β”‚   β”‚   └── integrations/     # External API clients
β”‚   β”œβ”€β”€ migrations/           # Database migrations
β”‚   β”œβ”€β”€ pkg/                  # Public packages
β”‚   └── tests/                # Integration tests
β”œβ”€β”€ πŸ“± mobile/                 # Flutter application
β”‚   β”œβ”€β”€ lib/
β”‚   β”‚   β”œβ”€β”€ core/            # Core utilities and constants
β”‚   β”‚   β”œβ”€β”€ features/        # Feature-based modules
β”‚   β”‚   β”‚   β”œβ”€β”€ auth/        # Authentication
β”‚   β”‚   β”‚   β”œβ”€β”€ notes/       # Note management
β”‚   β”‚   β”‚   β”œβ”€β”€ tasks/       # Task management
β”‚   β”‚   β”‚   └── integrations/ # External integrations
β”‚   β”‚   β”œβ”€β”€ shared/          # Shared widgets and services
β”‚   β”‚   └── main.dart        # Application entry point
β”‚   β”œβ”€β”€ test/                # Unit tests
β”‚   β”œβ”€β”€ integration_test/    # Integration tests
β”‚   └── android/ios/         # Platform-specific code
β”œβ”€β”€ πŸ“š docs/                  # Documentation
β”œβ”€β”€ πŸ”„ .github/              # CI/CD workflows
β”œβ”€β”€ 🐳 docker-compose.yml     # Development services
└── πŸ“‹ Makefile              # Development commands

πŸ› οΈ Development Commands

Backend Commands

# Run development server
go run main.go

# Run tests with coverage
go test -v -race -coverprofile=coverage.out ./...

# Build for production
go build -o bin/meemo-api main.go

# Database migrations
docker exec -it local_pgdb psql -U postgres -d meemo_dev -f /tmp/migration.sql

Mobile Commands

# Run on web (development)
flutter run -d web-server --web-port 3001

# Run on device/simulator
flutter run

# Run tests
flutter test --coverage

# Build for release
flutter build apk --release
flutter build web --release

Development Workflow

# Start all services
make dev

# Run backend only
make backend-dev

# Run mobile only  
make mobile-dev

# Run tests
make test

# Clean build artifacts
make clean

πŸ§ͺ Testing

API Testing

# Health check
curl http://localhost:8080/api/v1/health

# Test endpoints
curl http://localhost:8080/api/v1/notes
curl http://localhost:8080/api/v1/tasks

Mobile Testing

  • Unit Tests: flutter test
  • Widget Tests: Test individual components
  • Integration Tests: Test complete user flows
  • Web Testing: http://localhost:3001

πŸ“Š Database Schema

The app uses PostgreSQL with the following main tables:

  • users: User accounts and authentication
  • sessions: Session management and refresh tokens
  • notes: Raw content with AI processing results
  • tasks: Task management with external source tracking
  • reminders: Flexible scheduling with RRULE support
  • integrations: External service connections

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

πŸ“ž Support


Made with ❀️ by the Meemo Team

⭐ Star this repo β€’ 🍴 Fork this repo β€’ πŸ“’ Share on Twitter

About

No description, website, or topics provided.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published