A modern Angular healthcare application that allows users to search medicines, view usage information, side effects, drug interactions, and save favorites locally.
Built using the latest Angular standalone architecture with RxJS, Signals, OpenFDA API integration, and modern UI design.
✅ Search medicines instantly
✅ Debounced API search using RxJS
✅ View:
- Usage instructions
- Drug warnings
- Drug interactions
✅ Save favorite medicines
✅ LocalStorage persistence
✅ Responsive modern UI
✅ Glassmorphism design
✅ Angular Signals state management
✅ Functional HTTP interceptors
✅ Error handling
✅ Empty state UI
✅ Reusable standalone components
- Angular 17+
- TypeScript
- RxJS
- OpenFDA API
- CSS3
- Angular Signals
- Standalone Components
- Modern healthcare dashboard UI
- Live medicine search
- Animated glowing branding
- Responsive medicine cards
- Saved medicines
- Remove favorites
- Local browser persistence
git clone https://github.com/aadityamp01/medicine-finder.gitcd medicine-findernpm installCreate:
src/environments/environment.ts
Add:
export const environment = {
production: false,
openFdaApiKey: 'YOUR_API_KEY',
apiUrl: 'https://api.fda.gov/drug/label.json'
};ng serveOpen:
http://localhost:4200
src/app
│
├── components
│ ├── medicine-card
│ ├── search-bar
│ ├── loading-spinner
│ └── pagination
│
├── interceptors
│ └── loading-interceptor.ts
│
├── models
│
├── pages
│ ├── home
│ └── favorites
│
├── services
│ ├── medicine.ts
│ ├── favorites.ts
│ └── cache.ts
│
├── app.config.ts
├── app.routes.ts
│
└── styles.css
Modern Angular architecture without NgModules.
Used for:
- debounceTime
- distinctUntilChanged
- switchMap
- Observables
Modern Angular state management:
medicines = signal<any[]>([]);Global HTTP request handling using:
withInterceptors()Configured using:
withFetch()OpenFDA API
Official Documentation:
Favorites are stored locally using:
localStorageNo backend required.
- Glassmorphism cards
- Neon glow branding
- Gradient typography
- Responsive layouts
- Hover animations
- Modern SaaS healthcare design
This project helped practice:
- Angular standalone architecture
- RxJS reactive programming
- API integration
- Signals
- Component communication
- State management
- Error handling
- Responsive UI design
- LocalStorage persistence
- Angular routing
- Authentication
- Pagination controls
- Infinite scroll
- Toast notifications
- Dark/light theme toggle
- AI medicine assistant
- Medicine comparison
- PWA support
- Unit testing
- Backend integration
Pull requests are welcome.
For major changes, please open an issue first.
MIT License
Built with ❤️ using Angular and OpenFDA API.