Nearby Shops tech Stack

In this article we will study the tech stack for nearby shops app.

Prerequisite Knowledge

Having a basic knowledge of java and android development is sufficient to understand this topic.

Tech Stack for Backend

Nearby Shops is built with java and uses PostgresDB as its primary Database. It connects with Postgres with Type 4 high performance JDBC driver. It uses maven as a build tool with following dependencies

1. coobird/thumbnailator - a really nice library for generating image thumbnails
2. Spring Boot - A mature Java Framework for building Robust Backend
3. Jetty Server - we use jetty as an embedded server
4. Hikari CP - connection pooling library
5. JDBC - this project does not use an ORM layer and SQL queries are directly written in JDBC

Integrations

Nearby Shops provides integrations to enable e-mail, SMS-OTP, push-notifications, maps and payments

1. Simple Java Mail for e-mail
2. One-Signal and Firebase (FCM) for push notifications
3. Payment Gateway using RazorPay
4. SMS-OTP using MSG91
5. Maps using Google Maps and Mapbox

Android apps

Nearby Shops front-end consist of android apps with following libraries

1. Retrofit and Ok-HTTP for networking
2. Dagger-2 for dependency Injection
3. Picasso for loading images
4. Event Bus for internal communication
5. Smiley Rating - for rating
6. Gesture Views - for zooming in-out images using hand gestures
7. Ucrop - an image picker for android
8. Rough Hike bottom bar
9. Butterknife - binding views