Upload files to "/"
This commit is contained in:
+2365
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,20 @@
|
|||||||
# SSW590 Startup Product
|
Gitea Overleaf evidence package
|
||||||
|
|
||||||
This repository contains the team's product development work.
|
Files:
|
||||||
|
- giteaStartup.tex
|
||||||
|
Chapter fragment to add to the group's main Overleaf document with:
|
||||||
|
\input{giteaStartup}
|
||||||
|
|
||||||
The project uses Gitea for:
|
Screenshots:
|
||||||
- source control
|
- gitea-persistence-repository.png
|
||||||
- issue tracking
|
persistence-test repository after replacement
|
||||||
- branch-based development
|
- gitea-persistence-issue-1.png
|
||||||
- pull requests and peer review
|
persistence verification issue #1
|
||||||
|
- gitea-admin-activity.png
|
||||||
|
Gitea activity/repository view
|
||||||
|
- gitea-pr-issue-1-merged.png
|
||||||
|
merged pull request for issue #1
|
||||||
|
- gitea-pr-issue-2-merged.png
|
||||||
|
merged pull request for issue #2
|
||||||
|
|
||||||
|
No passwords are included.
|
||||||
|
|||||||
@@ -0,0 +1,49 @@
|
|||||||
|
\chapter{LaTeX Docker}
|
||||||
|
\ChapterLabel{LatexDocker}
|
||||||
|
|
||||||
|
To compile a LaTeX file through a Docker container, the first step was to create a Dockerfile. Using the texlive and latexmk frameworks, we created this Dockerfile:
|
||||||
|
|
||||||
|
\begin{minted}{javascript}
|
||||||
|
|
||||||
|
FROM debian:bookworm-slim
|
||||||
|
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
texlive-latex-base \
|
||||||
|
texlive-latex-recommended \
|
||||||
|
texlive-latex-extra \
|
||||||
|
texlive-fonts-recommended \
|
||||||
|
latexmk \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
WORKDIR /data
|
||||||
|
|
||||||
|
CMD ["latexmk", "-pdf", "main.tex"]
|
||||||
|
|
||||||
|
\end{minted}
|
||||||
|
|
||||||
|
The file uses a lightweight Debian base to install the requird tools from texlive and latexmk. From there, it establishes /data as the working directory of the container, and runs a command to compile a LaTeX file named "main.tex".
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
From there, we build the container by placing the Dockerfile inside the directory of the LaTeX project and running:
|
||||||
|
|
||||||
|
\begin{minted}{bash}
|
||||||
|
docker build -t my-latex-compiler .
|
||||||
|
\end{minted}
|
||||||
|
|
||||||
|
This sets up the container, named "my-latex-compiler" for use. To start the container and compile the LaTeX project, we run:
|
||||||
|
|
||||||
|
\begin{minted}{bash}
|
||||||
|
docker run --rm -v "$(pwd):/data" my-latex-compiler
|
||||||
|
\end{minted}
|
||||||
|
|
||||||
|
Once the command runs, a main.pdf file is created inside the LaTeX project directory, containing the compiled project. To test this, we ran the container on a barebones sample document containing some text, an image, and a table. The compiler created an identical result to downloading the document as a pdf from Overleaf, proving its success. The only downsides are that the primary .tex file of the project being compiled must be named main.tex, and that LaTeX errors that Overleaf can still compile through cannot be ignored by our compiler. These can be overcome by changing the expected name in the Dockerfile and being more thorough in error fixing when manually editing the LaTeX.
|
||||||
|
|
||||||
|
\begin{figure}[hbt!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=1\linewidth]{sample.pdf}
|
||||||
|
\caption{The pdf result of the Docker compiler on our sample document, with whitespace cropped out for readability.}
|
||||||
|
\label{fig:placeholder}
|
||||||
|
\end{figure}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
\chapter{Project Proposal}
|
||||||
|
\ChapterLabel{ProjectProposal}
|
||||||
|
\section{SecureURL: A Containerized URL Shortener}
|
||||||
|
This project will develop a simple web-based URL shortening application that allows users to enter a long URL and receive a shortened URL that redirects to the original address. The application will also store URLs and basic usage information in a database and may provide statistics such as the number of times a shortened URL has been accessed.
|
||||||
|
\section{DevOps Tools Used}
|
||||||
|
|
||||||
|
\begin{longtable}{|p{7cm}|p{7cm}|}
|
||||||
|
\caption{DevOps Tools} \label{tab:devopstools}\\
|
||||||
|
\hline
|
||||||
|
\textbf{Application} & Node.js/Express\\
|
||||||
|
\hline
|
||||||
|
\textbf{Source Control} & Git/GitHub \\
|
||||||
|
\hline
|
||||||
|
\textbf{CI/CD} & GitHub Actions \\
|
||||||
|
\hline
|
||||||
|
\textbf{CI/CD Comparison} & Jenkins \\
|
||||||
|
\hline
|
||||||
|
\textbf{Testing} & Jest \\
|
||||||
|
\hline
|
||||||
|
\textbf{Containerization} & Docker \\
|
||||||
|
\hline
|
||||||
|
\textbf{Database} & PostgreSQL \\
|
||||||
|
\hline
|
||||||
|
\textbf{Cloud Hosting} & DigitalOcean Droplet \\
|
||||||
|
\hline
|
||||||
|
\end{longtable}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
\title{\CourseNumber\ --- \CourseName\\[0.5em]\large Assignment \AssignmentNumber: \AssignmentTitle\\[1.5em]\normalsize\VERSION\\\DocumentStatus}
|
||||||
|
\author{\Instructor\\\Organization}
|
||||||
|
\conferraldate{}{\DocumentDate}
|
||||||
|
\copyrightholder{\Organization}
|
||||||
|
\copyrightyear{2026}
|
||||||
|
\maketitle
|
||||||
|
\makecopyright
|
||||||
|
|
||||||
|
\cleardoublepage
|
||||||
|
\phantomsection
|
||||||
|
\chapter*{Template Attribution}
|
||||||
|
\ChapterLabel{TemplateAttribution}
|
||||||
|
\addcontentsline{toc}{chapter}{Template Attribution}
|
||||||
|
\markboth{Template Attribution}{Template Attribution}
|
||||||
|
\index{template attribution}
|
||||||
|
\index{Muresan, Darian}
|
||||||
|
This DevOps assignment template was developed by \textbf{Darian Muresan, Ph.D.},
|
||||||
|
in conjunction with \textbf{OpenAI Codex} and \textbf{Anthropic Claude Code}.
|
||||||
|
|
||||||
|
\clearpage
|
||||||
|
\chapter*{ABSTRACT}
|
||||||
|
\input{abstract.tex}
|
||||||
|
\clearpage
|
||||||
|
\input{devopsDocumentHistory.tex}
|
||||||
|
\contentspage
|
||||||
|
\tablelistpage
|
||||||
|
\figurelistpage
|
||||||
Reference in New Issue
Block a user