Your AI-Powered Space Research Companion
AstroLens is a modern Flutter application that makes space biology research accessible to everyone. Browse curated research papers, get AI-powered summaries, and chat with an intelligent research assistant that helps you understand complex space science topics.
Web App: astrolens.pages.dev
API Documentation: api/README.md
- Modern Space-Themed UI - Beautiful cosmic color scheme with dark mode
- Research Paper Browser - Explore curated space biology research papers
- Advanced Search - Search by title, summary, or keywords
- Paper Details - Comprehensive paper information with external links
- AI Research Assistant - Chat interface powered by Google's Generative AI
- Cross-Platform - Works on Android, iOS, Web, Windows, and macOS
- Conversational Interface - Natural language queries about space research
- Intelligent Responses - AI generates contextual answers based on research papers
- Paper Recommendations - Get direct links to relevant research papers
- Real-time Processing - Instant responses from deployed API
- Paper Summarization - AI-powered research paper analysis
- Chat Endpoint - Intelligent query processing with paper matching
- CORS Enabled - Ready for web application integration
- Auto-generated Documentation - Interactive API docs at
/docs
astrolens/
βββ lib/ # Flutter application code
β βββ main.dart # App entry point and theme configuration
β βββ models/ # Data models
β β βββ research_paper.dart # Research paper model
β β βββ chat_message.dart # Chat message model
β βββ pages/ # Application screens
β β βββ home_page.dart # Main research papers browser
β β βββ paper_detail_page.dart # Individual paper details
β β βββ chat_page.dart # AI chat interface
β βββ services/ # Business logic
β βββ paper_service.dart # Paper data management
βββ api/ # FastAPI backend
β βββ main.py # API server with AI integration
β βββ requirements.txt # Python dependencies
β βββ README.md # API documentation
βββ assets/ # App assets
β βββ papers.json # Research papers database
β βββ logo.png # App logo
βββ test/ # Unit and widget tests
βββ pubspec.yaml # Flutter dependencies
- Flutter SDK 3.9.2 or higher
- Python 3.8+ (for API development)
- Google API Key (for AI features)
-
Clone the repository
git clone https://github.com/MAyman007/AstroLens.git cd astrolens -
Install Flutter dependencies
flutter pub get
-
Run the app
# For development flutter run # For web flutter run -d chrome # For specific platform flutter run -d windows # or macos, linux
The app uses the deployed API by default, but you can run it locally:
-
Navigate to API directory
cd api -
Install Python dependencies
pip install -r requirements.txt
-
Set environment variables
export GOOGLE_API_KEY="your_google_api_key_here" export NCBI_API_KEY="your_ncbi_api_key_here" # Optional
-
Run the API server
python main.py # API available at http://localhost:9000
- Model: Gemini 2.0 Flash Experimental
- Features: Conversational responses, paper summarization
- Prompting: Specialized prompts for space biology research
- Paper Matching: Advanced similarity matching using
difflib.SequenceMatcher - Contextual Responses: AI generates relevant answers based on research content
- Link Integration: Provides direct access to full research papers
- Error Handling: Graceful fallbacks for API failures
The app includes 608 curated research papers covering a wide range of space biology topics, for example:
- Animal Studies - Mouse experiments in space missions
- Bone Health - Microgravity effects on bone density and cellular processes
- Stem Cell Research - Tissue regeneration in space environments
- Gene Expression - RNA analysis and genetic studies on the ISS
- Space Biology - Various aspects of life sciences in microgravity
Each paper includes:
- Full title and summary
- Direct links to PMC articles
- Relevant keywords for searching
- AI-generated simplified explanations
GET /chat?message={query}Response:
{
"response": "AI-generated conversational response...",
"link": "https://pmc.ncbi.nlm.nih.gov/articles/PMC..."
}POST /summarize
GET /summarize-get?url={paper_url}GET /health- β Android - Native mobile experience
- β Web - Responsive web application
- β Windows - Desktop application
- β Linux - Desktop application
# Run all tests
flutter test
# Run specific test files
flutter test test/models/research_paper_test.dart
flutter test test/services/paper_service_test.dartWeb app is deployed at: astrolens.pages.dev.
Platform-specific builds (mobile and desktop) are provided on the project's GitHub Releases page. Look for the latest release to download:
- Mobile
- Android: APK / AAB packages
- Desktop
- Windows: MSI / EXE build
- Linux: AppImage / DEB / RPM (when provided)
Visit the Releases page for binaries and installation instructions: https://github.com/MAyman007/AstroLens/releases
- google_fonts ^6.1.0 - Modern typography (Inter & Orbitron)
- url_launcher ^6.2.2 - External link handling
- http ^1.1.0 - API communication
- cupertino_icons ^1.0.8 - iOS-style icons
- FastAPI - Modern Python web framework
- Google Generative AI - AI-powered responses
- BeautifulSoup - HTML parsing for paper content
- Uvicorn - ASGI server
- Fork the repository
- Create a 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
- NASA and PMC for providing access to space research papers
- Google for Generative AI capabilities
- Flutter team for the amazing cross-platform framework
- FastAPI for the modern Python web framework