This project targets No Brand, a retail store with a relatively small and simple product selection. Customers can complete purchases using their smartphones without waiting in checkout lines. Store managers can manage each branch through a web-based dashboard.
You can view the app and admin dashboard designs via the following links:
- Design Prototypes
- Android GitHub Repository
A total of 40 APIs were implemented. While the full API documentation is shared only with team members, the core functionalities are summarized here:
Customer – Android App
- Supports both local and social logins
- Allows customers to scan product barcodes to add items to the cart
- Enables checkout directly within the app
Branch Manager – Admin Web Dashboard
- Manage users and products
- Automatically requests inventory restocks from HQ when levels drop below threshold
- Provides daily, weekly, and monthly sales analytics
We adopted a blue/green deployment strategy for seamless and zero-downtime scaling.
When code is pushed or a pull request is made to GitHub, Jenkins pulls the code, builds the project, sends a notification to our Slack channel, and deploys it to the server using automated deployment scripts. We used Docker Compose to manage multiple Docker containers.
Frontend
- React
- Graphql
- Apollo Client
- Material-UI
Android
- RecyclerView
- Retrofit2
- HttpLoggingInterceptor
- WebViewClient
- Google Vision
- BarcodeGraphic
- CameraSource
- GraphicOverlay
- SharedPreference
- I'mport (payment API)
Backend
- Spring Security
- Spring Cloud
- Oauth2 Client
- jjwt
- Graphql
- nurigo
- redis
- MySQL(RDS)
- Amazon S3
- Swagger2 (API documentation managed separately in team Notion)
- nginx
- jenkins
- docker
Overall Roles
Design | Frontend | ||
Lim Hyo-yeon |
Cho Hye-rim |
Chae-yeon Park |
|
Android | Backend | ||
Hyun-jun Lee |
Hyung-joo Kim |
Min-su Ji |
Joo-hyun Park |