RefugeeConnect is a comprehensive platform aimed at bridging the gap between refugees and essential services, fostering community support, and empowering refugees to integrate successfully into their new environments. This platform will provide a range of services accessible via web applications, catering to the needs of refugees, service providers, donors, and the wider community.
- Akshay Datir (NUID: 002822621) - AKA “AD”
- Pranav Kapse (NUID: 002871241) - AKA “PK”
- Kishor Kashid (NUID: 002833393) - AKA “KK”
- Swamy Mudiga (NUID: 002826360) - AKA “SM”
- Node.js: JavaScript runtime built on Chrome's V8 JavaScript engine.
- Express.js: Fast, unopinionated, minimalist web framework for Node.js.
- Mongoose.js: Elegant MongoDB object modeling for Node.js.
- MongoDB: NoSQL database for modern, data-driven applications.
- Progressive Web App (PWA): Web applications that load like regular web pages or websites but can offer user functionalities such as working offline, push notifications, and device hardware access.
- Internationalization (i18n): Framework for translating and localizing the app to various languages and regions.
- React.js: A JavaScript library for building user interfaces.
- Redux: A Predictable State Container for JS Apps.
- MapBox: A mapping platform for custom designed maps.
- Google API: APIs provided by Google for integrating various services like Maps, Calendar, etc.
- DialogFlow: Google's natural language understanding tool to design and integrate a conversational user interface into mobile apps, web applications, devices, and bots.
- Kommunicate AI: AI-driven customer support automation and chat platform.
- JWT (JSON Web Tokens): A compact, URL-safe means of representing claims to be transferred between two parties for authentication and authorization.
- Stripe API: A suite of APIs powering online payment processing and commerce solutions.
To get started with RefugeeConnect:
git clone https://github.com/yourusername/RefugeeConnect.gitNavigate to the backend directory and install the required packages:
cd backend
npm installNavigate to the frontend directory and install the required packages:
cd frontend/refugee-connect
npm installIn the backend directory, start the server:
node server.jsIn a new terminal, navigate to the frontend directory and run the application:
cd frontend/refugee-connect
npm run devFor any queries or discussions regarding contributions, you can reach out to me via email:
Milestone 1: Project Selection, Creating Object Model, Identifying REST API resources, and Creating OpenAPI Specification Yam
- Selected Project Topic as per the Professor given link (UN Global Issues) (Assignee: Everyone)
- Created an Object Model for the project using Domain Driven Design (Assignee: Everyone)
- Identified REST API resources and created OpenAPI Specification YAML (Assignee: Everyone)
- REST API creation - Refugee (Assignee: AD)
- REST API creation - Resources (Assignee: KK)
- REST API creation - Donation (Assignee: SM)
- REST API creation - User (Assignee: PK)
- REST API creation - Camp (Assignee: AD)
classDiagram class Person{ +int PersonID +string Name +int Age +string Nationality +string Gender +DateTime DateOfBirth +string Address +string PhoneNumber +string Email +string SocialSecurityNumber +string BloodType } class RefugeeRegistration{ +string CountryOfOrigin +string RefugeeStatus +DateTime ArrivalDate +string Ethnicity +string Religion +string LanguagesSpoken +string HealthStatus +string EducationLevel +string Occupation +string FamilyStatus +bool HasDependents +string PreviousLocation +string CurrentLocation +string LegalStatus +string AssistanceNeeded +double Height +double Weight } class Instructor{ +String InstructorRegion +String Specialization
} class Camp{ +int CampID +String CampName +int CampCapacity +string Location +int Capacity +int CurrentOccupancy +List Facilities +List Services +string Management +string Status +string SecurityLevel +string Accessibility +List SupportingOrganizations +string Infrastructure } class User{ +String Username +String Password +String Email +String ContactNo }
class Donation{ +int DonationId +String DonorName +String DonatedTo +int DonationAmount +DateTime DonationDate } class Resource{ +string Name +string Description +string Location +bool IsAvailable }
class RefugeeStory{ +int RefugeeID +string Title +string RefugeeName +string Story } class LoginPage{ +String Username +String Password +int PersonID +String PersonType }
class FoodDistributionCenter{ %% +String location +int capacity +StorageConditions storageConditions
}
class WaterPoints{
%% +String location
+int capacity
+boolean functional
+WaterQuality waterQuality
+MaintenanceSchedule maintenanceSchedule
}
class MedicalClinic{
%% +String name
%% +String location
+ListDoctor doctors
+ListNurse nurses
+ListPatient patients
+ListAppointment appointments
+String[] services
+String phoneNumber
+String emailAddress
}
class Doctor { +String name; +String specialization; } class Nurse { +String name; +int experienceYears; } class Patient { +String name; +int age; +String gender; } class Appointment { +LocalDateTime dateTime; +Doctor doctor; +Patient patient; }
class Accomodations{ %% +String name; %% +String location; +int capacity +boolean isOccupied +double costPerMonth +String[] facilities +String description }
LoginPage "1"--> "1"Person
Person <|-- User Person <|--RefugeeRegistration Person <|--Instructor Camp"*"<--"1"Instructor
Donation "*" o-- "1" User Resource *-- User
Camp"1"o-- "1"RefugeeRegistration RefugeeRegistration "1"--* "*"RefugeeStory
Resource <-- FoodDistributionCenter Resource <-- MedicalClinic Resource <-- Accomodations Resource <-- WaterPoints
MedicalClinic o-- Doctor MedicalClinic o-- Nurse MedicalClinic o-- Patient MedicalClinic o--Appointment Appointment o-- Doctor Appointment o-- Patient
