Repository navigation
Initial Design
Corrina Del Greco edited this page Feb 16, 2021
·
15 revisions

- The user inputs their research paper(s). The program requires it to be in LaTex with BibTex.
- The program uses the BibTex to create a file in a language that Doxygen can handle, we've chosen C.
- Doxygen generates the graph using the C code. Doxygen provides HTML for our GUI.
- The user can modify and add fields. The program will rewrite the files that are used by Doxygen to regenerate the graph.
- The user inputs their research paper(s). The program requires it to be in LaTex with BibTex.
- The program uses the BibTex to create a file in a language that Doxygen can handle, we've chosen C.
- BibTex resembles a dictionary (ie. author="Corrina"). This is extremely beneficial to us.
- Doxygen cannot handle BibTex, however, so we convert it to C.
- The C code won't be functional, it's just a way to speak to Doxgyen in a language it'll understand.
- TODO describe structure of C file/methods
- Doxygen generates the graph using the C code. Doxygen provides HTML for our GUI.
- Graph nodes are paper names. Graph connections are the references to other papers.
- A purely Doxygen-generated front end is initial. Later, the developers may make their own front-end.
- The user can modify and add fields. The program will rewrite the files that are used by Doxygen to regenerate the graph.
- Initially, this can be done by the user editing the files in a text editor. Later, we could create our own GUI with fillable forms.
- For example, a new page opens for Paper A with a form to change existing fields like author or add new fields like summary.
- All.bib header file
- Common / all.bib, common_def.tex
- Paper / paper1.tex, paper2.tex, ...
- Graph / luis2021A.tex, sam2020.tex, tex, ...
- Reduce paper1.tex to sam2020.tex
- Single function for C file
- Plain file structure instead of SQL database
- GUI shows... (what is in the reduced/simplified LaTex file)
- Title/author/affiliation
- Abstract
- Index terms
- Most import contributions
- Citation graph
- You can use Doxygen to set how many layers deep the graph should go, a single layer is good enough
- Answer to question "how should the graph nodes nodes (papers) be labeled? name?"
- Liu2008, Chayat1997
- Later, if possible, add paper title below that^
- Later, if possible, label connections with purpose
- A forms GUI is fancy, the user can modify feilds using a text editor for now.
- Rather than rewriting the files, the original data from the files is stored in the database and further additions/modifications are done with SQL.
- Attributes directly from paper (BibTex) are inserted into the database, immodifiable (boolean flag ie. Author = Corrina, author_editable = false)
- The graph is not regenerated because the nodes are only paper names, which do not change.
- Other information than that^ cannot be displayed using Doxygen HTML because we want to include manually entered data from the database. Requires more GUI work.
- Click on a node of the graph (paper name) and it opens a sidebar (or other page) to display database information.
- Manually added information goes into database, IS modifiable, does not need to be added to C code.
- Possibly faster than plain file structure because no regeneration or rewriting is needed.
- Input sanitization on manually entered information
- Authorization needed for users to modify
- Noting who contributed what
- Search bar, SQL query the db for a paper name