What it does

Our project is an optimized URL Shortener that can handle more than 500 concurrent users, deliver response times of less than 3 seconds, and provide stable code, high code coverage, and incident reporting.

How we built it

Scalability We use tools such as K6 for stress testing, Docker to run multiple instances, NGINX to distribute load, and Redis to cache recent data to lower the load on our database. We were told by an admin in discord to post our results here after explaining what had happened. Our 500 concurrent users test was still running when the submission deadline hit, so we couldn't attach the screenshot in time. The test had passed previously we just re-ran it to capture the screenshot which is why we posted it here this satisfies bronze to gold. No changes were made after deadline to codebase full compliance was followed.

K6 - Gold Tier

Reliability We use Pytest and the Pytest-cov plugin to run tests across the codebase and spot bugs and errors. Implement GitHub Action for CI/CD.

Dashboard Screenshot

Incident Response We implement Prometheus to monitor our codebase, collect metrics, and set up alert rules. Structlog to structure the logs into JSON format. Use Grafana Loki to aggregate and store logs, and use Grafana to provide dashboard visualization of the logs and metrics. We use PagerDuty to send alerts to software engineers.

Grafana Dashboard

Live Demos

Challenges we ran into

  • Resolving the test case challenge number 5.
  • Making sure the simulation for triggering requests and tests is reflected on the Grafana dashboard to avoid false indications
  • Setting up production pipelines and infrastructure migration on Digital Ocean

Accomplishments that we're proud of

We finished every tier of every quest. But more than that, we actually built something that works like a real production system. You can load test it, watch the dashboard react in real time, and get paged when something goes down. We are proud of the teamwork that is put into this project.

What we learned

There's a big gap between code that works and code that's production-ready. This project made that gap very real. We came out knowing how to actually operate a system, not just write one. The automated test cases, push-based deployment pipelines, and incident response workflows have taught us to think beyond the product scope.

What's next for NightOwls

Taking everything we picked up here into our careers and to build not applications that are reliable, scalable and maintainable.

Built With

Share this project:

Updates