Skip to content

hxxtsxxh/CommuRide

Repository files navigation

This will not work if you do not paste your own api keys in the respective fields.

Run this by typing git clone https://github.com/hxxtsxxh/CommuRide.git. In your terminal, type yarn install. Then npx expo install. Then, type npx expo start.

Names: Manish Chakka, Aneesh Karanam, Heet Shah, Keshav Kapur

Purpose: Our ride-sharing service transcends conventional transportation paradigms by serving as a multifaceted platform designed not only for facilitating travel but also for fostering social bonds and advancing environmental sustainability. Through our innovative approach, we endeavor to forge meaningful connections among travelers while simultaneously mitigating the adverse ecological impacts associated with individualized commuting patterns. By facilitating shared journeys and promoting collaborative travel arrangements, we aspire to alleviate traffic congestion, reduce carbon emissions, and cultivate a sense of communal responsibility toward our planet's well-being.

At the core of our mission lies the belief that transportation should extend beyond mere point-to-point movement; it should serve as a conduit for human interaction, cultural exchange, and collective action toward a greener future. Our platform empowers users to not only optimize their travel experiences economically but also to contribute meaningfully to the larger societal goal of environmental conservation. By fostering a community of like-minded individuals committed to sustainable mobility practices, we aim to inspire positive change in travel behaviors, promote resource sharing, and ultimately pave the way for a more interconnected and eco-conscious society.



Tools Utilized:


  • Expo: Expo served as a comprehensive framework and platform for universal React applications, streamlining the development process and expediting the deployment of our mobile app. It provided a range of tools and libraries for building, testing, and deploying React Native applications with ease.
    
  •   React Native: We leveraged React Native, a popular JavaScript framework, for building cross-platform mobile applications. This allowed us to develop our ride-sharing service for both iOS and Android platforms efficiently.
    
  •   Firebase Firestore: Firebase Firestore served as our real-time NoSQL cloud database, enabling seamless data storage, retrieval, and synchronization across users and devices. It facilitated user authentication, data management, and real-time updates, enhancing the overall user experience.
    
  •   Figma: Figma played a pivotal role in our project by providing a collaborative interface design and prototyping platform. We used Figma for creating blueprints, wireframes, and high-fidelity mockups, enabling us to visualize and iterate on the app's layout and design before proceeding with coding.
    
  •   React Navigation: React Navigation, a routing and navigation library for React Native applications, played a crucial role in defining and managing navigation flows within our app. It enabled smooth transitions between screens, intuitive navigation patterns, and customizable navigation options.
    
  •   Ionicons: Ionicons, a set of open-source icons designed for use with web, iOS, and Android applications, provided us with a diverse collection of high-quality icons to enhance the visual appeal and usability of our app's user interface.
    

Problems your team ran into:

  •   Navigation Bar: Initially, we faced challenges in creating a navigation bar that would appear both at the top and bottom of the app simultaneously. Despite our efforts, we found that displaying both navigation bars simultaneously was not feasible due to layout constraints. As a solution, we opted to prioritize the bottom navigation bar and incorporated essential navigation buttons within the main content area of the home screen.
    
  •   Data Fetching from Firebase: Integrating Firebase Firestore for data storage and retrieval presented some hurdles, particularly when fetching and utilizing the data to populate styled cards within the app. We encountered issues with asynchronous data fetching and rendering, leading to inconsistencies in the display of card components. Through diligent debugging and refactoring, we resolved these issues by ensuring proper handling of asynchronous operations and data synchronization. EXPLAIN THIS BETTER
    
  •   Conversion of Geographic Coordinates: Another challenge arose when converting longitude and latitude data into miles, deviating from conventional reverse geocoding methods. To address this, we devised a custom function that leveraged mathematical operations, including trigonometric functions and conversion to radians, to accurately calculate the distance between geographical points. By implementing this custom function, we were able to achieve precise distance calculations for ride requests and improve location-based services within the app.
    
  •   Integration of Google Maps API: Integrating the Google Maps API with Google Cloud posed challenges related to API configuration and enabling specific functionalities required for our application. We encountered difficulties in navigating the documentation and configuring the API settings to ensure seamless interaction with Google Cloud services. However, by closely following the documentation guidelines and enabling the necessary APIs in the correct sequence, we successfully resolved the integration issues and achieved full functionality with the Google Maps API.
    

Public frameworks utilized:

  • Expo: We leveraged Expo for rapid prototyping and development, streamlining the process of building and testing our mobile application across different platforms.
    
  • Figma: Figma was instrumental in the initial stages of our project for creating blueprints, wireframes, and layout designs. It provided a collaborative environment for our team to visualize and iterate on the user interface and design elements before diving into the coding phase.
    
  • Firebase Firestore: Firebase Firestore served as our primary database solution, offering real-time data synchronization and seamless integration with our React Native application. We utilized Firestore to store user data, ride requests, and other essential information, enabling efficient data management and retrieval.
    
  • Google Maps API: The Google Maps API played a crucial role in our application, facilitating location-based services, route planning, and geocoding functionality. We integrated Google Maps API to display maps, retrieve location data, and calculate distances between geographic coordinates, enhancing the overall user experience.
    
  • React Navigation: React Navigation provided robust navigation solutions for our React Native application, allowing us to implement intuitive navigation flows, stack-based navigation, and bottom tab navigation. It enabled seamless navigation between different screens and enhanced user interaction within the app.
    
  • Node.js and Express.js: We utilized Node.js and Express.js for server-side development, enabling us to build custom APIs and handle HTTP requests/responses effectively. Node.js and Express.js provided a scalable and efficient backend infrastructure, allowing seamless communication between the client-side application and the server.
    

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors