Parq is a full-stack web application that allows users to register and list their private parking spots, search for available parking in their area, and book a space in just a few clicks. Built with Vue 3 and Firebase, the app focuses on simplicity, accessibility, and responsive design.




-
🔐 Authentication
Secure login using Firebase Authentication (Google and email/password support). Access to app content is restricted to authenticated users. -
📝 List a Parking Spot
Multi-step form to add a parking spot with:- Features (e.g., charger, roof)
- Dimensions
- Availability (day/time-based rules)
- Photos and custom guidelines
- Location geocoded via Google Maps API
-
📍 Search & Book
- Search bar with filtering
- Listings sorted by date or price
- Clean, card-based UI with expandable details
- Booking interface for selecting day/time
-
🌐 Internationalization
Language toggle for English and Norwegian (viavue-i18n
). -
💬 User Feedback
Alerts and UI feedback for validation, bookings, and listing submission.
- Mari – Project Manager/Scrum Master
- Magnus – Technical Lead
- Adnan – Feature Developer
- Hedvig – Component Developer (Maps)
- Kaisa – Documentation & Diagrams
Special thanks to our teachers Katerina Mangaroska and Boban Vesin at USN.
Frontend | Backend/Storage | Other Tools |
---|---|---|
Vue 3 | Firebase Firestore | Google Maps API |
Vue Router | Firebase Auth | Vue I18n |
Pinia (store) | Firebase Storage | CropperJS (optional) |
Bootstrap 5 | Leaflet (experimental) |
- Login & protected routes
- Listing form with rule-based availability
- Basic search, sort, and filter UI
- Image upload and preview
- Booking system (time + weekday)
- Clean, responsive design
Clone the repo and install dependencies:
git clone https://github.com/yourusername/my-parking-app.git
cd my-parking-app
npm install