
BAIBAI
Engagement model: Project based – !xed price and on going support
Customer: Mikio Suzuki
Baibai is the cryptocurrency exchange website where user can buy/sell Bitcoin and other alt coins.
Baibai adds a level of unprecedented security on top of a convenient marketplace solution.
FEATURES
- Deposit, withdraw, transfer cryptocurrency
- Buy/sell Bitcoin and other alt coins
- Protect user wallet and other attack methods by using 2FA
- Referral program for user by level
- Handle dispute when make a trade
- Real time data update
- Highload system
- Online support 24/7
- Provide a new way to buy/sellbitcoin
- Chat between 2 users and supporter
- Admin can control fee, limit and other settings real time
- Verify user info
- Full responsive website
- Marketplace, support 1mil visit per sec, 10 trades per sec, cryptocurrecy exchange, bitcoin transcation, security system against common attacks, real time data update, referral program,
TECHNOLOGIES
- ASP.NET core 2.1
- Amazon cloud service
- Load balancing
- Scalable system
- Angular 5
- Zendesk intergration
- Bitcoin network
- Stress test by Jmeter
- Redis cache cluster
- Rabbit MQ
- Unit of work
- Database cluster
- SQL Server
- YouTrack
- Microservices
- SignalR
- Multi thread
CHALLENGES
- Get passed customer target:
- 1.000.000 visitors per second
- 2.500 online users
- 10 trades completed per second
- All pages must render below 5s, all action must execute below 3s
- UI/UX must 100% like design on mobile, desktop, tablet and on all browsers (Some special likes: UC browser…)
- Protect user info, user wallet by all common attack methods
- Need to understand about Bitcoin network and cryptocurrency exchange
- Customer rebrands website with new look & feel
- Deadline very shoot but the quality must good
- China government blocks some Google services
- Need to research and con!g all Amazon cloud services
- Multi threads on multiple server access the same data to modify/get data
- Work with remote team in China about their coin service
SOLUTIONS
- Build solution based on microservice architecture
- Split application to module to lazy loading
- Optimize code, restructure component, database and apply best practice
- Move all needed data to Redis cache cluster to speed up read side
- Apply Rabbit MQ to speed up write side
- Research and study Amazon cloud services, Coin service, Bitcoin network
- Control task, member, sprint and deadline by SCRUM model and YouTrack tool
- Use memcache and Redis cache to store data for a while (2s), then a background job will collect and process data later
- Use other service which can run well in China