A React Native Web application for managing clinics and doctors through the Clinica and Doctr microservices.
This application provides a user-friendly interface to perform CRUD (Create, Read, Update, Delete) operations on clinics and doctors. It interacts with two Spring Boot microservices:
- Clinica Microservice: Manages clinic data (GitHub: https://github.com/srikanthkakumanu/clinica)
- Doctr Microservice: Manages doctor data (GitHub: https://github.com/srikanthkakumanu/doctr)
- Clinic Management: Create, view, update, and delete clinics
- Doctor Management: Create, view, update, and delete doctors
- Pagination: Supports paginated lists for large datasets
- Responsive UI: Built with React Native Web for cross-platform compatibility
- Authentication: Handles HTTP Basic Authentication for API calls
- Node.js 18 or later
- The Clinica and Doctr microservices running locally
- Clinica: http://localhost:9091
- Doctr: http://localhost:9092
-
Clone the repository:
git clone <repository-url> cd clinica-web
-
Install dependencies:
npm install
-
Ensure the microservices are running:
- Start Clinica microservice on port 9091
- Start Doctr microservice on port 9092
-
Start the web application:
npm run web
-
Open your browser and navigate to the provided URL (usually http://localhost:8081)
- Home Screen: Choose to manage Doctors or Clinics
- List Screens: View paginated lists with options to add, edit, or delete items
- Form Screens: Create new or edit existing records
The app uses the following API endpoints:
GET /api/clinics- List clinics with paginationGET /api/clinics/{id}- Get clinic by IDPOST /api/clinics- Create new clinicPUT /api/clinics/{id}- Update clinicDELETE /api/clinics/{id}- Delete clinic
GET /api/doctors- List doctors with paginationGET /api/doctors/{id}- Get doctor by IDPOST /api/doctors- Create new doctorPUT /api/doctors/{id}- Update doctorDELETE /api/doctors/{id}- Delete doctor
Authentication uses HTTP Basic Auth with default credentials.
- React Native
- React Native Web
- React Navigation
- Expo
- Fetch API for HTTP requests
src/
├── screens/
│ ├── HomeScreen.js
│ ├── DoctorListScreen.js
│ ├── DoctorFormScreen.js
│ ├── ClinicListScreen.js
│ └── ClinicFormScreen.js
└── services/
└── api.js
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.