Project Description

Zeek Asset Manager is a package manager for the Zeek plugin architecture. With a focus on speed and maintainability, our project aims to create a time and cost effective solution for creating a package manager website.

The Previous solution looks outdated and was described as overkill with the use of a database and features not working as intended. Our goal is to generate the package's information using the metadata of all packages within the Zeek repository, as well as information within the README of the individual packages. In doing so, we plan to automate this process to account for any new packages that will be created to ensure minimal modifications after our development has finished.

The original project details can be found here.

Requirements

The website should:

Solution

Our solution is to create an API to generate package data as packages are added and updated. This backend will serve information to the front end dynamically so as the metadata is updated for new packages, the site will reflect these changes without the need for a developer to update the site. Using regex, we plan to improve the search engine by searching through package names and descriptions to match them up with the requested search query.

Technologies

Our team used FastAPI for our backend due to its lightweight framework and focus on speed. We used HTML and CSS for our front end using custom styling in addition to assset provided by Zeek to maintain the feel of their current website. We were able to connect the backend and frontend using the Jinja templating language which allows us to insert the results from our backend into our HTML.