From a07618559fdf5ed2bb47feffd15dab73309f1c55 Mon Sep 17 00:00:00 2001 From: Inesh Bose <2504266b@student.gla.ac.uk> Date: Fri, 8 Apr 2022 15:32:40 +0100 Subject: [PATCH] Wrap up --- .gitattributes | 2 +- README.md | 4 ++-- dissertation/README.md | 53 ++++++++++++++++++++++++++++++++++++++++- dissertation/l4proj.cls | 44 +++++++++++++++++----------------- docs/index.md | 10 +++++++- docs/log_parser.py | 6 ++++- timelog.md | 30 +++++++++++++++++++++++ 7 files changed, 121 insertions(+), 28 deletions(-) diff --git a/.gitattributes b/.gitattributes index abd5657..5960223 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,2 @@ *.example linguist-detectable=false -dissertation/l4proj.tex linguist-vendored +*.tex linguist-vendored diff --git a/README.md b/README.md index 7d5054c..51d67fb 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Portion Mate is an application that helps keep track of your food intake. This p - [Getting Started](https://github.com/ineshbose/portion-mate/blob/develop/src/manual.md) - [App Documentation](https://portion-mate.readthedocs.io/) - [Repository Wiki](https://github.com/ineshbose/portion-mate/wiki/) -- [Dissertation (WIP)](#) +- [Dissertation](https://ineshbose.github.io/portion-mate/dissertation.pdf) @@ -48,7 +48,7 @@ Portion Mate is an application that helps keep track of your food intake. This p diff --git a/dissertation/README.md b/dissertation/README.md index 609844c..bf82e71 100644 --- a/dissertation/README.md +++ b/dissertation/README.md @@ -8,7 +8,58 @@
Dissertation

- + GitHub Workflow Status + LaTeX + Overleaf + Zotero

+ +## _Abstract_ + +> The Eatwell Guide is a recommendation given by Public Health England on having a balanced diet. Following and maintaining a diet may be difficult for people, and logging can help them keep track of their plan. However, the task of logging itself can also require a lot of commitment which can cause people inconvenience and make them give it up. +> +> This project aims to develop an application that solves these problems of maintaining a diet plan; this was achieved through months of research and development into users, food and logging, in order to create a fully-integrated and convenient system that does not add a burden onto users, but rather motivates them to adhere to their plan. Considering the time-frame, this project also leaves development open-ended with scope for future work that can be passed over to or taken over by developers who can make use of the open-source side projects created and best practices followed by the system without great difficulty. +> +> To confirm the usability of the application, evaluation was carried out through a survey where participants could share their thoughts with the help of System Usability Scale that also in-turn helps in analysing the results to a score that deemed the system as acceptable. + +## About This Document + +This document follows the [provided template (`/dissertation @ 89738d2`)](https://github.com/ineshbose/portion-mate/tree/89738d2aa8959f847b1b542e6dc466de8165126b/dissertation) that can be found on [Overleaf](https://www.overleaf.com/latex/templates/university-of-glasgow-level-4-computing-science-project-template/spqpnkvzjdbw) and [GitHub](https://github.com/johnhw/l4template). It provides a class module file [`l4proj.cls`](https://github.com/ineshbose/portion-mate/blob/develop/dissertation/l4proj.cls) with attribution to the authors and modifiers. + +```tex +\ProvidesClass{l4proj}[% + 2009/01/09 Colin Perkins .% + 2009/09/16 Modified by Tim Storer to support non pdf modes.% + 2011/02/15 Modified by Gregg Hamilton for use in final year projects.% + 2012/10/18 Modified by Patrick Prosser, use geometry to control margins, simplified.% + 2018/09/14 Modified by John Williamson, improve typographic appearance% +] +``` + +However, this class has been extended with features such as supporting syntax highlighting for [JavaScript](https://github.com/ineshbose/portion-mate/blob/develop/dissertation/l4proj.cls#L603), [TypeScript](https://github.com/ineshbose/portion-mate/blob/develop/dissertation/l4proj.cls#L661), [YAML](https://github.com/ineshbose/portion-mate/blob/develop/dissertation/l4proj.cls#L648), and [TOML](https://github.com/ineshbose/portion-mate/blob/develop/dissertation/l4proj.cls#L669) using [`listings`](https://ctan.org/pkg/listings) (not [`minted`](https://ctan.org/pkg/minted)), and autogenerating labels for [headings](https://github.com/ineshbose/portion-mate/blob/develop/dissertation/l4proj.cls#L511) and [figures](https://github.com/ineshbose/portion-mate/blob/develop/dissertation/l4proj.cls#L274). + +Majority of writing and working with [LaTeX](https://www.latex-project.org/) was with [Overleaf](https://overleaf.com/), and required a separate repository since branching and symlinks are not supported as of yet (changes are still synchronised here). The chapters have been divided into separate files (using [`subfiles`](https://ctan.org/pkg/subfiles)) in [`chapters/`](https://github.com/ineshbose/portion-mate/tree/develop/dissertation/chapters), and compilation is through [**`pdflatex`**](https://www.tug.org/applications/pdftex/) that requires `--shell-escape` and [`inkscape`](https://inkscape.org/) enabled for [`svg`](https://ctan.org/pkg/svg) support. Referencing was managed using [Zotero](https://zotero.org/) and their [API](https://api.zotero.org/), split into separate files. These are added using [`biblatex`](https://ctan.org/pkg/biblatex) with the default `numeric` style. + +```tex +%============================================================================= +% CHAPTER NAME +% description about chapter + +% ## Guidance + +% - Some guidance about the chapter if provided or necessary. + +% - This would help in writing and fill criterias. +%============================================================================= + +\documentclass[../main.tex]{subfiles} +% \graphicspath{{\subfix{../images/}}} + +\begin{document} + +% contents .. + +\end{document} +``` diff --git a/dissertation/l4proj.cls b/dissertation/l4proj.cls index 93a1e70..57fce9a 100644 --- a/dissertation/l4proj.cls +++ b/dissertation/l4proj.cls @@ -125,17 +125,17 @@ \pgfmathsetmacro{\deltaA}{\v/100*360} \pgfmathsetmacro{\nextA}{\curA + \deltaA} \pgfmathsetmacro{\midA}{(\curA+\nextA)/2} - + \path[slice,\s] \c -- +(\curA:\r) arc (\curA:\nextA:\r) -- cycle; \pgfmathsetmacro{\d}{max((\deltaA * -(.5/50) + 1) , .5)} - + \begin{pgfonlayer}{foreground} \path \c -- node[pos=\d,pie values,values of \s]{$\v\%$} +(\midA:\r); \end{pgfonlayer} - + \global\let\curA\nextA } \end{scope} @@ -305,44 +305,44 @@ \renewcommand\maketitle{ \begin{titlepage}% \definecolor{UniBlue}{HTML}{00355F} - + \let\footnotesize\small \let\footnoterule\relax \let\footnote \thanks - + % the logo, full page width \vspace{1in} \includegraphics[width=\linewidth]{images/CompSci_colour.pdf} \vskip 0.5em \color{UniBlue} {\large \sffamily Honours Individual Project Dissertation}\\ - + % title and author - + \vspace{1cm} \Large \vskip 5em% - + \begin{center} - + \color{UniBlue} \noindent {\Huge \scshape \@title \par}% - - - - - + + + + + \end{center} \vfill {\Large \textbf{\@author}\\ \@date} - - - + + + \end{titlepage}% - + \setcounter{footnote}{0}% \global\let\thanks\relax \global\let\maketitle\relax @@ -351,7 +351,7 @@ \global\let\@date\@empty \global\let\@consentname\@empty \global\let\@consentdate\@empty - + \global\let\@title\@empty \global\let\title\relax \global\let\author\relax @@ -400,12 +400,12 @@ \newpage % \let\cleardoublepage\relax \chapter*{Educational Use Consent} - + I hereby grant my permission for this project to be stored, distributed and shown to other University of Glasgow students and staff for educational purposes. \textbf{Please note that you are under no obligation to sign this declaration, but doing so would help future students.} - + \begin{tabular}{@{}llll} & & & \\ & & & \\ @@ -418,7 +418,7 @@ \chapter*{Educational Use Consent} Consent for educational reuse withheld. Do not distribute. \fi - + } % split into files diff --git a/docs/index.md b/docs/index.md index 10db36e..eedcbf7 100644 --- a/docs/index.md +++ b/docs/index.md @@ -7,9 +7,17 @@
Documentation

- + GitHub Workflow Status + GitHub Workflow Status + Read the Docs

+
+

+This project has been heavily documented to allow you to learn more about the background, development and usage of the application. Each document acts as a guide to a specific area/aspect of the project, and you can find all information and links on the repository. +

+
+ ## diff --git a/docs/log_parser.py b/docs/log_parser.py index bbba9cb..160b15a 100644 --- a/docs/log_parser.py +++ b/docs/log_parser.py @@ -13,9 +13,13 @@ if line in ["\n"]: continue - if line.lower().startswith("## week"): + if line.startswith("## ") and ( + line[3:].lower().startswith("week") or len(raw_week_logs) > 0 + ): raw_week_logs.append(week_block) week_block = [] + if (not line[3:].lower().startswith("week")) and len(raw_week_logs) > 0: + break week_block.append(line[:-1] if line.endswith("\n") else line) diff --git a/timelog.md b/timelog.md index 18c2fc0..c7d51cb 100644 --- a/timelog.md +++ b/timelog.md @@ -584,3 +584,33 @@ Time taken off to unwind and relax for Christmas and New Year. * *1 hour* Issue [#73](https://github.com/ineshbose/portion-mate/issues/73) * *4 hours* Issue [#133](https://github.com/ineshbose/portion-mate/issues/133) + +## Week 27 + +### 28 March 2022 + +* *6 hours* Dissertation writing + +### 29 March 2022 + +* *8 hours* Dissertation writing + +### 30 March 2022 + +* *8 hours* Dissertation writing + +### 31 March 2022 + +* *10 hours* Dissertation writing +* *4 hours* Presentation planning + +### 01 April 2022 + +* *5 hours* Dissertation polishing and review +* *2 hours* Presentation recording +* *1 hour* Preparing submission in format, uploading and submitting +* *0.5 hours* Celebration :) + +## Total hours: 411 + +For more information, see the [Git History](https://github.com/ineshbose/portion-mate/wiki/GitLogs) or this timelog in a [table format](https://github.com/ineshbose/portion-mate/wiki/LogTable).
Dependency managers Yarn - Poetry + Poetry