• As a user I want to create a new shortened URL • As a user I want to view the details of a shortened URL • As a user I want to see all shortened URLs that have been created • As a user I want my shortened URL to redirect to the original URL
- Can create short URl for long URL
- Using API can show all short url that exists
- Can get details for a short url
- if already exits dont create new, send old one
- Test : E2E test on controller using test container , GRPC is comes with self test so no need to test that.
Todo :
- Get everything running with docker compose
- generate a UI ?????
- Caching ???
Please read SETUP.md file
- Microservices talk to each other through GRPC / Proto 3
- Separation of concern is implemented on service level
- Docker compose is used to create architecture
- Use GRPC Web Proxy to automatically generate json api from proto descriptions. https://github.com/grpc/grpc-web with Enovy as reverse proxy
- Cacheing Using Redis
- Production/Dev split
- connect to config server and save config in consul
- Sharding on mysql database or Move to Nosql like Cassandra
- Use ""wait for service to use docker compsoe for full architecture generation
- Use Alembic to generate schema instead of hardcoded one in case of
Do load tests autogenerated result
-------------------------------------------- benchmark: 1 tests -------------------------------------------- Name (time in ms) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations
Legend: Outliers: 1 Standard Deviation from Mean; 1.5 IQR (InterQuartile Range) from 1st Quartile and 3rd Quartile. OPS: Operations Per Second, computed as 1 / Mean