Skip to content
Nearby Shops web application locator using Java EE - Spring boot
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
eureka
shop
user
Architecture.PNG
NearbyShopsAppPreview.png
README.md

README.md

alt text

Nearby Shops

The project is about implementing an app that lists shops nearby.

  • As a User, I can sign up using my email & password
  • As a User, I can sign in using my email & password
  • As a User, I can display the list of shops sorted by distance
  • As a User, I can like a shop, so it can be added to my preferred shops
    • Acceptance criteria: liked shops shouldn’t be displayed on the main page
  • As a User, I can dislike a shop, so it won’t be displayed within “Nearby Shops” list during the next 2 hours
  • As a User, I can display the list of preferred shops
  • As a User, I can remove a shop from my preferred shops list

Architecture

alt text

Technical spec

  • PostgreSQL
  • Java + spring boot + thymeleaf

Deployment

  • Create "NearbyShops" database
  • Configure ports as well as username and password to access the created database
  • Launch shopService (default port = 9001)
  • launch UserService (default port = 9002)

Front-end

I used the MaterialKit template to get up and running quicly

TomTom search API

TomTom provides developpers, throught there search API, with list of places based on the passed location and keywords. For our project the keyword used is "shop"

Features

  • As a User, I can sign up using my email & password
  • As a User, I can sign in using my email & password
  • As a User, I can display the list of shops sorted by distance
  • As a User, I can like a shop, so it can be added to my preferred shops
    • Acceptance criteria: liked shops shouldn’t be displayed on the main page
  • As a User, I can dislike a shop, so it won’t be displayed within “Nearby Shops” list during the next 2 hours
  • As a User, I can display the list of preferred shops
  • As a User, I can remove a shop from my preferred shops list

To do

  • As a User, I can filter results by shop categories
  • As a User, I can add more keywords to search
  • Configure Eureka server to manage the microservices
  • Use Ajax to send "like", "dislike" & "delete" post requests without reloading the page
  • Add pagination and extend the number of results

Notes

  • In the preview above the coordinates used are : lat=37.8085 &l on=-122.4239 for the sole pupose of showing the "go to website" feature
  • The number of results retrieved from the TomTom API is limited to 10 results in our case, but can be extended to all possible results by adding &Limit=(#number of results). (waiting to add pagination before extending the number of results)
You can’t perform that action at this time.