Skip to content

Repository files navigation

tccBuilder

Version Node.js React License: MIT

Portuguese documentation: README.pt-BR.md

tccbuilder-demo.mp4

tccBuilder is a local web application independently developed to automate and streamline the completion of the editable Undergraduate Thesis template provided by the FIT 499 course in the Agronomy program at the Universidade Federal de Viçosa.

After analyzing the standardized structure of the institutional document, I identified an opportunity to apply my software development knowledge to a real academic context. I created this tool with two main goals:

  • Reduce the time and effort required from students during the initial completion and organization of the document.
  • Strengthen practical software development experience by transforming an academic need into a functional portfolio project.

The application allows users to enter their academic information through a form in the browser and automatically generate a Microsoft Word document in .docx format. The generated file remains fully editable and is based on the institutional template.

Note: tccBuilder is being developed concurrently with the writing of my own Undergraduate Thesis. Although both projects are progressing during the same period, the academic research is independent of this application. tccBuilder was created on my own initiative as a practical solution and as a software development portfolio project.


Technologies

  • Frontend: React and Vite
  • Backend: Node.js and Express
  • Document generation: Docxtemplater and PizZip
  • Template: Microsoft Word document containing dynamic placeholders

Project Structure

.
├── public/
│   └── logotcc.png
├── src/
│   ├── App.jsx
│   ├── index.css
│   └── main.jsx
├── index.html
├── server.js
├── template.docx
├── package.json
├── package-lock.json
├── vite.config.js
├── README.md
├── README.pt-BR.md
└── LICENSE

The template.docx file contains the placeholders used by the backend to insert the information submitted through the form.

Examples:

<<NOME_AUTOR>>
<<TITULO>>
<<ORIENTADOR>>
<<COORIENTADOR_A>>
<<COORIENTADOR_B>>
<<TEXTO_RESUMO>>
<<TEXTO_INTRODUCAO>>

Running the Application Locally

Prerequisites

  • Node.js 20.19 or later
  • npm
  • Git

Installation

Clone the repository:

git clone https://github.com/arleujr/tccBuilder.git
cd tccBuilder

Install the dependencies:

npm ci

Start the Backend

In one terminal, run:

node server.js

The backend will be available at:

http://localhost:3000

Start the Frontend

In another terminal, run:

npm run dev

Open the application at:

http://localhost:5173

Production Build

To generate the frontend production build, run:

npm run build

The generated files will be stored in the dist directory.


How Document Generation Works

The frontend sends the completed form fields to the server running on the local machine.

The backend receives the data, opens the template.docx file, replaces the corresponding placeholders, and returns a new Microsoft Word document for download.

The generated document remains fully editable in Microsoft Word or any other editor compatible with the .docx format.


Limitations

tccBuilder uses a template specifically designed for the FIT 499 course.

The application does not review the academic quality of the submitted text, automatically correct references, or provide complete validation against formatting standards.

Users should review the generated document before submitting the final version of their thesis.


Next Steps

  • Implement stricter formatting rules to ensure that each section is positioned correctly in the final document, without unintended page breaks or unnecessary spacing.

  • Integrate the RefEngine application through an API, enabling the automatic generation of bibliographic references from PDF, BibTeX, or RIS files and their insertion into the final thesis document.

  • Prepare a distributable version of the application with a simplified installation and startup process, allowing other students to use tccBuilder without configuring a development environment, cloning the repository, or running terminal commands.

  • Add automated tests and a continuous integration pipeline to improve project reliability.


Privacy

The application runs locally.

The information entered by the user is exchanged only between the browser and the server running on the same computer. There is no database, cloud storage, or transfer of academic content to external services.


Author

Developed by Arleu Júnior

GitHub LinkedIn


License

This project is distributed under the MIT License. See the LICENSE file for more information.

About

Web app that automates TCC formatting for Agronomy students at UFV. Generates editable fields from a DOCX template, allowing faster customization and document assembly. Built with React, Express, Node.js, and Docxtemplater for streamlined academic workflows.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages