Streetpin is the ‘network of local, social sites’ (Pinboards). The purpose was to create a local marketplace platform which collaborate retailers, organizations and events under one area. The main purpose of the platform is to digitalize the local community “Pinboard”.
System will facilitate the users to create pinboard, offers / adverts, create posts, and view other pinboards and offers in nearby area.
Community and Social network
- Manage public & private profile
- View pinboards, offers and posts on map in nearby area
- Create own free pinboards
- Feature to target offer on other’s pinboard
- Discount coupons feature to avail discount
- Search functionality to search location and tags
- Create post on other user’s pinboard
- Report post and notify pinboard owner
- System admin to manage pinboards, offers and users registered in the system
- System admin to manage discount codes
- To keep the system operating costs down without compromising with the performance.
- Slow pinboard searching due to large amount of data.
- Serverless Structure
The system has been designed to run on server less architecture by using AWS services like lambda functions, S3 bucket, Cloud front, and Dynamo DB. Instead of going with EC2, we have used AWS Lambda as it is highly scalable and is inexpensive in relation to EC2.
Frontend is built in Angular 6 and hosted on S3 bucket and backend is built in Java and executed through AWS lambda functions.
Following services/components have been used in this system as well:
- Cloud front: For good performance, AWS Cloud front has been used. It speeds up the distribution of web content and ensures immediate response from the website as soon as a user searches for information.
- S3 bucket: Since the structure was Serverless, for hosting we have used S3 bucket. S3 bucket is nothing but a simple storage device which is built to store and retrieve any amount of data from anywhere. Also, S3 bucket offers security, performance, and leading scalability.
- Dynamo DB: Fast, Flexible, Highly Scalable and Reliable Performance – so used for pinboard searching according to geo location. Along with MySQL database, we have also used AWS Dynamo DB for fast searching. It also supports load balancing and allows systems to store large amount of data.