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
- PostgreSQL
- Java + spring boot + thymeleaf
- 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)
I used the MaterialKit template to get up and running quicly
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"
- 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
- 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
- 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)