- 📝 Flashcards: Learn Latin phrases with interactive flashcards
- 🔄 Two-sided cards: Tap to flip between Latin and English translations
- 🔍 Search: Find phrases by Latin or English text
- ❤️ Favorites: Save your favorite phrases for quick access
- 🌙 Dark Mode: Easy on the eyes, day or night
- 📱 Responsive Design: Works on both phones and tablets
- 👆 Easy Navigation: Intuitive tabbed interface
- React Native - Mobile framework
- Expo - Development platform
- AsyncStorage - Local data persistence
- React Context API - State management
This application was entirely "vibe coded" using AI assistance:
- GitHub Copilot - Provided code suggestions and implementations throughout development
- Claude 3.7 Sonnet - Generated code, solved development challenges, and helped with app architecture
The development process leveraged the power of AI to rapidly prototype, debug, and optimize the application while maintaining high code quality and user experience.
(The AI also wrote this README so take the above with a grain of salt.)
- Node.js (LTS version recommended)
- npm or yarn
- Expo CLI
- For Android development: Android Studio and Android SDK
- For iOS development: Xcode (Mac only)
-
Clone the repository:
git clone https://github.com/eliyastein/latin-learner.git cd latin-learner
-
Install dependencies:
npm install # or with yarn yarn
-
Start the Expo development server:
npx expo start
There are several ways to build an APK for sideloading:
-
Install EAS CLI:
npm install -g eas-cli
-
Log in to your Expo account:
eas login
-
Build the APK:
eas build --platform android --profile preview
-
Download the APK from the provided link after build completion
-
Run the included build script:
npm run build:android
or
npm run prebuild:cloud
-
If you encounter dependency issues, use:
npm run install:clean
-
Generate native projects:
npx expo prebuild
-
Navigate to the Android directory:
cd android
-
Make gradlew executable (on macOS/Linux):
chmod +x ./gradlew
-
Build the APK:
./gradlew assembleRelease
-
Find your APK at:
./app/build/outputs/apk/release/app-release.apk
- Transfer the APK to your Android device
- On your device, enable "Install from Unknown Sources" in Settings
- Open the APK file to install
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project includes two separate licenses:
The application code is licensed under the MIT License - see the LICENSE file for details.
The Latin phrases and translations used in this application are sourced from Wikipedia and are licensed under the Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0).
In accordance with Wikipedia's licensing requirements:
- Attribution: Content from Wikipedia is attributed to its authors, accessible through Wikipedia's edit history.
- Share-alike: If you redistribute or modify the Latin phrase content, you must do so under the same CC BY-SA 4.0 license.
This license applies only to the Latin phrases and translations, not to the application code or user interface.
- Latin phrases sourced from Wikipedia under CC BY-SA 4.0 license
- React Native and Expo teams for the amazing tools
- Ionicons for the beautiful icons
- GitHub Copilot and Anthropic's Claude 3.7 Sonnet for AI-powered development assistance
If you have any questions or suggestions, feel free to open an issue.
Vibe coded with 🤖 GitHub Copilot and Claude 3.7 Sonnet