Skip to content

TorNim0s/NAP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Table Of Content
  1. Introduction
  2. Project Description
  3. App Appearence
  4. Setup
  5. Dependencies
  6. Running The Project
  7. Design And Architecture
  8. Testing

Introduction

image

Welcome to NAP (Need A Parking), an Android application that allows users to rent private parking spaces from other users. With NAP, users can search for available parking spaces in their desired location and rent them on an hourly basis. The app also allows users to list their own parking spaces for rent. The main features of the app include searching for available parking spaces, booking parking spaces, and managing your own listed parking spaces. In this README, you will find information on how to use the app, the technologies used in the development of the app, and how to contribute to the project.

Project Description

The project is a parking rental app that allows users to rent private parking spaces from other users. The app includes features such as searching for available parking spaces, renting a parking space, and managing rental agreements. The app also includes a user profile section where users can view and edit their personal information, such as their name, phone number, and email address. The app utilizes Firebase for user authentication and database storage. The MVP pattern used in the project, where Model, View, and Presenter are separated and interact with each other.

App Appearence

ezgif-2-6dde363093.gif

     Main        Information       Signin         Signup        Logged-Main

maininfosigninsignuplogged

     Post         Profile          Add          Edit

postprofileaddedit

Setup

  • Clone the repository to your local machine using git clone https://github.com/TorNim0s/NAP.git

  • Open the project in Android Studio

  • In the top menu, go to File > Open > build.gradle to open the project's build file

  • In the dependencies block, make sure that the following dependencies are included:
    dependencies {
    // Firebase dependencies
    implementation 'com.google.firebase:firebase-auth:19.3.1'
    implementation 'com.google.firebase:firebase-firestore:21.4.3'

    // Other dependencies
    implementation 'com.android.support:appcompat-v7:29.0.0'
    implementation 'com.android.support:design:29.0.0'
    implementation 'com.android.support:recyclerview-v7:29.0.0'
    }

  • Click the Run button in the top right corner to build and run the project on an emulator or connected device.

    • Note: make sure that you have the latest version of the Android SDK and build tools installed, and that your device or emulator is running on the same version or higher of Android.

Dependencies

This project uses the following dependencies:

  • AndroidX
  • Firebase Authentication
  • Firebase Firestore
  • Firebase Storage
  • Google Maps
  • Google Places
  • Glide
  • Material Design
  • RecyclerView

Running The Project

  1. Make sure you have Android Studio installed on your computer.

  2. Clone or download the project repository to your computer.

  3. Open Android Studio and select "Open an existing Android Studio project" from the welcome screen.

  4. Navigate to the location where you cloned or downloaded the project and select the root folder of the project.

  5. In the project window, navigate to the app folder and open the build.gradle file.

  6. Connect your Android device to your computer using a USB cable.

  7. In the top right corner of Android Studio, select the device you want to run the app on and press the "Play" button to build and run the project.


  • The app should now be installed and running on your Android device.

  • Please note that you may need to configure some settings on your device and/or computer to allow for debugging and installing apps from external sources. The specific steps for this may vary depending on your device and operating system.

Design And Architecture

The NAP project uses the MVP (Model-View-Presenter) design pattern. The model contains the data and business logic for the app, the view is responsible for displaying the data to the user and handling user input, and the presenter acts as a mediator between the model and the view.

     Model         View          Presenter

modelviewpresenter

The project also includes UML and diagrams to provide a visual representation of the project's design and architecture.

                    Activity Diagram

activity



                    Use-Case Diagram

usecase



                    State Machine Diagram

statemachine



                    Sequence Diagram

sequence



                     ERD

erd



                    Class UML

class



                    Object UML

object



Testing

To test the project, you can use the built-in Android Studio emulator or run the app on a physical Android device.

The app has been tested on Android versions 6.0 and above.

Automated Tests

Currently, the project does not include any automated tests. However, you can test the following functionalities manually:

  • User registration and login
  • Search and Rent parking
  • User Profile
  • Edit Profile

To test the user registration and login functionality, you can create a new account and verify that you are able to log in with the newly created credentials. To test the search and rent parking functionality, you can search for available parking spots and attempt to rent one. To test the user profile functionality, you can navigate to the user profile screen and verify that the displayed information is correct. To test the edit profile functionality, you can change the user's information and verify that it is updated successfully.

Please note that these are just examples of functionalities that you can test, you can add or remove any functionality you like.

Debugging

In case of any issues or bugs, you can use the Android Studio's built-in debugging tools such as Logcat to view the logs and trace the problem. You can also use Firebase's crashlytics to track and analyze any crashes that occur in the app.

Known Issues

Currently, there are no known issues.

You can add or remove any testing functionality you like.

About

Final Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages