Helldivers 2 War Data Site
Python | FastAPI | Uvicorn | HTML | CSS | JavaScript
Current Status: In Development
Project Overview
This project began as a dedicated learning module to gain hands-on experience building and managing a full-stack web application. Beyond simply aggregating and displaying real-time data from the Helldivers 2 galactic war campaign, the primary objective was to engineer the application with strict security standards at the forefront of the development lifecycle.
By building the API independently rather than solely relying on external sources, I was able to practice safely routing backend data to a dynamic, user-friendly frontend interface.
Architecture & Tech Stack
- Backend: Developed a custom API utilizing Python and FastAPI, served via Uvicorn. This handled the logic of fetching, parsing, and formatting the raw game data.
- Frontend: Designed a responsive, themed interface using HTML, CSS, and JavaScript to dynamically update the DOM as the campaign data shifts.
- Deployment: Hosted leveraging Azure, ensuring a reliable and fast content delivery network.
The Security Focus
When developing web applications, efficiency must be balanced with robust security practices to prevent vulnerabilities from entering the CI/CD pipeline. Key security implementations for this project include:
- API Authentication: Implemented distinct security tokens (API keys) to restrict unauthorized access to the database. This ensures data integrity by verifying that only authenticated requests can pull from or interact with the backend.
- Courtesy Headers: Configured identification headers when calling the community API. This prevents server overloading and provides a clear identification trail, which is a crucial standard when interacting with third-party infrastructure.
- Environment Variable Management: Utilized a
.envconfiguration to securely vault sensitive credentials and API keys. By strictly managing.gitignorefiles, these secrets remain completely isolated from version control and public GitHub repositories, preventing accidental credential leaks.