InsurNative
InsurNative is a mobile application developed using Django for the backend and React Native for the frontend. The core functionality allows users to upload and manage their insurance documents, translate content using AI-powered services, and communicate with their insurance advisors. The app leverages modern technologies such as AWS for hosting and storage, JWT for secure authentication, and Expo for building and deploying the mobile frontend.
Table of Contents
- Key Features
- Technology Stack
- Installation and Setup
- Roadmap
- Contributing
- License
Key Features
-
User Authentication & Management: Secure login and registration powered by Django and JWT.
-
Document Translation: Users can upload insurance documents and use AI (ChatGPT) to translate them, which is then saved as a PDF.
-
Advisor Communication: Users can contact their advisors, and advisors receive the messages via email.
-
CRUD Operations: Full support for creating, reading, updating, and deleting user-uploaded documents.
-
Cloud Integration: Storage of media and static files using AWS S3, with deployment via AWS ECS, EC2, RDS, and Route53.
-
Expo-based Mobile Frontend: Available on the Google Play Store, providing a seamless experience across Android devices.
Technology Stack
Backend (Django)
-
Framework: Django, Django Rest Framework
-
Authentication: JWT via
rest_framework_simplejwt
-
Database: PostgreSQL
-
Cloud: AWS (S3, ECS, EC2, RDS, Load Balancer, Route53)
-
Security: Axes for brute-force protection, SSL, HSTS, CSRF, CORS policies
-
Email: SendGrid for email notifications
Frontend (React Native)
-
Mobile Framework: React Native with Expo
-
Navigation: React Navigation
-
State Management: Redux
-
API Integration: REST APIs powered by Django backend
DevOps
-
Containerization: Docker
-
CI/CD: Planned integration with GitHub Actions
-
Monitoring: Sentry (planned for future updates)
Installation and Setup
To set up the project locally:
Backend (Django)
- Clone the repository:
git clone https://github.com/your-username/insurnative-backend.git
cd insurnative-backend
- Create a
.env
file based on the .env.example
.
- Set up Docker and run the containers:
docker-compose up --build
- Migrate the database:
docker-compose exec web python manage.py migrate
Frontend (React Native)
- Clone the frontend repository:
git clone https://github.com/your-username/insurnative-frontend.git
cd insurnative-frontend
- Install dependencies and run the app:
npm install
expo start
Roadmap
2024 - Phase 1
2024 - Phase 2
-
Feature Improvements
- Add advisor management tools, such as automated email reports.
- Optimize the translation feature to support more languages and document types.
-
Platform Expansion
- Improve mobile compatibility with iOS.
- Optimize the app for tablet devices.
Contributing
We welcome contributions to InsurNative! To contribute, please follow these steps:
- Fork the repository.
- Create a feature branch (
git checkout -b feature/new-feature
).
- Commit your changes (
git commit -am 'Add new feature'
).
- Push to the branch (
git push origin feature/new-feature
).
- Create a new Pull Request.
Please make sure to adhere to the existing code style and include appropriate tests.
License
This project is licensed under the MIT License - see the LICENSE file for details.