Skip to content

IAMTorres/neuparking-android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NeuParking

An Android mobile application for smart parking management — find parks, check available slots, make reservations and manage payments, with offline support.

What it does

NeuParking connects to a smart parking API to give users real-time information about parking lots. Users can register, log in, browse parks, reserve slots, and track payments — all from their mobile device.

Features

  • Authentication — Register and login with JWT token-based auth
  • Parks — Browse available parking lots with slot availability
  • Slots — View and select individual parking slots per park
  • Reservations — Create and manage parking reservations
  • Payments — View payment history and process payments
  • Statistics — Parking usage stats and overview
  • Offline support — SQLite local database caches data when no connection is available
  • Auto-login — Credentials stored securely via SharedPreferences

Tech Stack

  • Kotlin — Android development language
  • Retrofit — HTTP client for REST API communication
  • OkHttp — Underlying HTTP layer
  • Gson — JSON serialization/deserialization
  • SQLite — Local offline database
  • JWT (Auth0) — Token decoding for authenticated sessions
  • MVC architecture — Models, Controllers, Activities (Views)

Architecture

app/src/main/java/pt/ipca/pa/
├── Adapters/           # RecyclerView adapters (Parks, Slots, Payments)
├── controller/         # Business logic (Reservation, Slot, Stats)
├── model/              # Data models (ReservationModel, SlotModel, StatsModel)
├── Park/               # Park listing, stats activities
├── Payment/            # Payment listing and processing
├── Revervation/        # Reservation flow
├── Slot/               # Slot selection
├── SQLite/             # Local database handlers (Park, Payments, Reservation)
├── services/           # Retrofit API client
├── data/               # Data classes (User)
└── utils/              # Constants and utilities

API

The app communicates with a REST API hosted at https://smart-api.onrender.com for:

  • User authentication (/login/, /register/)
  • Park data
  • Slot availability
  • Reservation management

How to Run

  1. Clone the repository
  2. Open in Android Studio
  3. Let Gradle sync the dependencies
  4. Run on an emulator or physical Android device (API 24+)

Note: The app requires an active internet connection to fetch live parking data. Offline mode uses locally cached data via SQLite.

About

Android parking management app in Kotlin with Retrofit, SQLite offline support and JWT authentication

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages