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
- π€ 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
- π― 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
- Go 1.21+
- Flutter 3.16+
- PostgreSQL 15+
- Redis 7+
- Docker & Docker Compose
git clone https://github.com/yourusername/meemo.git
cd meemocd backend
cp .env.example .env
go mod download
go run main.goBackend will be running at: http://localhost:8080
cd mobile
flutter pub get
flutter run -d web-server --web-port 3001Mobile app will be running at: http://localhost:3001
# 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.sqlmeemo/
βββ π§ 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
# 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# 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# 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# 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- Unit Tests:
flutter test - Widget Tests: Test individual components
- Integration Tests: Test complete user flows
- Web Testing: http://localhost:3001
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
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Flutter and Go
- AI integration powered by Kiro
- Icons from Material Design Icons
- π§ Email: [email protected]
- π Issues: GitHub Issues
- π¬ Discussions: GitHub Discussions
Made with β€οΈ by the Meemo Team
β Star this repo β’ π΄ Fork this repo β’ π’ Share on Twitter