Skip to content

imalkaperera13/MediScanApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

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

Repository files navigation

πŸ“± MediScan – Android Application

A smart medical search & pharmacy locator app built using Android Studio (Java), Firebase Firestore, Retrofit APIs, and RecyclerView.

πŸš€ Overview

MediScan is an intelligent Android application designed to help users:

Search for medicine details (brand, generic name, purpose)

Locate nearby pharmacies based on city

Save important medicine data

View personal profile

Seamlessly navigate using an intuitive bottom navigation layout

The app is built using clean architecture, multiple fragments, and external REST APIs.

πŸ›  Tech Stack

Frontend

Android Studio (Java) XML Layouts RecyclerView + Adapters Bottom Navigation View Material Components

Backend / Cloud

Firebase Firestore (User accounts + Saved medicines)

APIs (2 external APIs required by assignment)

OpenFDA Drug API β†’ Used to search medicines by name β†’ Returns brand name, generic name, purpose, etc.

Nominatim (OpenStreetMap Geocoding API) β†’ Finds pharmacies by city β†’ Returns name + address + coordinates β†’ Opens location in Google Maps

Libraries

Retrofit2 (API calls)

Gson Converter

Firebase Firestore SDK

Glide (optional for images)

Material Design Components

πŸ“‚ Project Structure MediScan/ β”‚ β”œβ”€β”€ data/ β”‚ β”œβ”€β”€ FirebaseHelper.java β”‚ β”œβ”€β”€ api/ β”‚ β”‚ β”œβ”€β”€ OpenFdaClient.java β”‚ β”‚ β”œβ”€β”€ OpenFdaService.java β”‚ β”‚ β”œβ”€β”€ OpenFdaResponse.java β”‚ β”‚ β”œβ”€β”€ NominatimClient.java β”‚ β”‚ β”œβ”€β”€ NominatimService.java β”‚ β”‚ └── NominatimResult.java β”‚ β”œβ”€β”€ ui/ β”‚ β”œβ”€β”€ LoginActivity.java β”‚ β”œβ”€β”€ RegisterActivity.java β”‚ β”œβ”€β”€ MainActivity.java β”‚ β”œβ”€β”€ fragments/ β”‚ β”‚ β”œβ”€β”€ SearchFragment.java β”‚ β”‚ β”œβ”€β”€ PharmaciesFragment.java β”‚ β”‚ β”œβ”€β”€ SavedFragment.java β”‚ β”‚ └── ProfileFragment.java β”‚ β”œβ”€β”€ adapters/ β”‚ β”œβ”€β”€ DrugAdapter.java β”‚ └── PharmacyAdapter.java β”‚ β”œβ”€β”€ res/ β”‚ β”œβ”€β”€ layout/xml files β”‚ β”œβ”€β”€ item layouts β”‚ β”œβ”€β”€ icons β”‚ └── bottom_nav_menu.xml

πŸ” Authentication

The app uses Firebase Firestore to store:

Name

Email

Password (hashed using Base64)

FirebaseHelper.java handles:

User registration

User login

Database save/retrieve operations

Callback interfaces for cleaner code separation

πŸ”Ž Search Feature (OpenFDA API) Functionality:

Search any medicine by name

API returns:

Brand name

Generic name

Purpose

Display results using RecyclerView

Save any medicine to Firestore

πŸ—Ί Pharmacy Finder (Nominatim API)

Users can:

Enter a city (e.g., "Colombo", "Kandy")

Fetch a list of pharmacies using geocoding

View name + address

Open location directly in Google Maps

πŸ“¦ Saved Items

A separate fragment displays all saved medicine entries.

🎨 UI & UX

Bottom navigation for easy movement

CardView-based RecyclerView items

Clean, modern layout

Adaptive app icon (MediScan icon)

▢️ How to Run the Project

Clone or download the project

Open in Android Studio

Connect your Firebase project

Add your google-services.json to:

app/

Sync Gradle

Run on emulator or real device (API 24+)

πŸ§ͺ Testing

Tested on:

Pixel 4 Emulator (API 34)

Samsung A15 5G physical device

No crashes during API fetch or Firebase operations

πŸ’¬ Viva / Presentation Points

You can confidently say:

β€œI implemented two external APIs using Retrofit (OpenFDA + Nominatim).”

β€œI used Firebase Firestore for user accounts and saved medicine data.”

β€œFor UI, I used fragments, RecyclerView, and BottomNavigationView.”

β€œI separated logic using helper classes and adapters to keep the project modular.”

πŸ“˜ License

This project is developed as part of an academic assignment for SLIIT / university coursework. Use for learning and educational purposes.

Developer: Imalka Perera

Email: imalkaperera07@gmail.com

About

MediScan is an Android app that provides fast medication lookup, pharmacy discovery, and personalized saved-drug management. It integrates OpenFDA, OpenStreetMap, and Firebase to deliver accurate, real-time healthcare information.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages