How shanedrasingh05/wanderlust-project works
Wanderlust is an Airbnb-inspired lodging-listing application. Visitors browse, search, or filter listings, view listing details and maps, and—after signing in—create or manage listings and reviews. The main request path runs through the Express app and feature routes to controllers, which read or update MongoDB models and render EJS views. Authentication supports local, Google, and Facebook sign-in; listing creation also uses geocoding and image hosting. README capabilities are included, but unsampled route and integration wiring is shown only where documented or evident from the available entry points.
Main entry points: app.js Express app · listing.js Listing actions · models/user.js User model · routes/user.js User routes
Components 22
Web and Views
- Express app
app.js - Listing routes
routes/listing.js - User routes
routes/user.js - Review routes
routes/review.js - Validation and access
views/middleware.js - Listing pages
views/listings - Account pages
views/users - Map display
public/js/map.js
Listing and Reviews
- Listing actions
controllers/listing.js - Review actions
controllers/reviews.js - Listing model
models/listing.js - Review model
models/review.js
Accounts and Authentication
- Google routes
routes/google.js - Facebook routes
routes/facebook.js - User model
models/user.js
Data and Integrations
- Image storage setup
Cloud/cloudConfig.js - MongoDB
- Mapbox geocoding
- Cloudinary
Other components
- Visitor
- Google OAuth
- Facebook OAuth
Connections 25
- Visitor → Express app: sends requests
- Express app → Listing routes: dispatches
- Express app → User routes: dispatches
- Express app → Google routes: dispatches
- Express app → Facebook routes: dispatches
- Express app → Review routes: dispatches
- Listing routes → Listing actions: handles listing actions
- Review routes → Validation and access: checks access and input
- Review routes → Review actions: dispatches
- Listing actions → Listing model: queries and updates
- Review actions → Listing model: updates listing reviews
- Review actions → Review model: creates and deletes
- User routes → User model: manages accounts
- Google routes → User model: authenticates users
- Facebook routes → User model: authenticates users
- Listing actions → Listing pages: renders listing pages
- User routes → Account pages: renders account pages
- Listing model → MongoDB: persists listings
- Review model → MongoDB: persists reviews
- User model → MongoDB: persists accounts
- Listing actions → Mapbox geocoding: geocodes locations
- Map display → Mapbox geocoding: displays map data
- Image storage setup → Cloudinary: configures image hosting
- Google routes → Google OAuth: OAuth sign-in
- Facebook routes → Facebook OAuth: OAuth sign-in