{"id":19937154,"url":"https://github.com/my-python-projects/jreport","last_synced_at":"2026-04-11T10:32:28.259Z","repository":{"id":248168666,"uuid":"764137438","full_name":"my-python-projects/JReport","owner":"my-python-projects","description":"About This project involves a two-step authentication system (2FA) using Flask for the backend and Vue.js with Bootstrap for the frontend. The project also includes functionality to generate reports in Word format.","archived":false,"fork":false,"pushed_at":"2024-08-19T18:01:25.000Z","size":700,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-12T03:02:12.883Z","etag":null,"topics":["2fa","bootstrap","flask","flask-application","jprogram","jreport","jwt","jwt-token","mongo","mongodb","python","rabbitmq","vue","vuejs"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/my-python-projects.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-27T14:46:54.000Z","updated_at":"2024-08-19T17:02:46.000Z","dependencies_parsed_at":"2024-11-12T23:31:31.873Z","dependency_job_id":"6ad33dd7-e910-45fd-bda5-b92b80a8803b","html_url":"https://github.com/my-python-projects/JReport","commit_stats":null,"previous_names":["my-python-projects/jreport"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/my-python-projects%2FJReport","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/my-python-projects%2FJReport/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/my-python-projects%2FJReport/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/my-python-projects%2FJReport/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/my-python-projects","download_url":"https://codeload.github.com/my-python-projects/JReport/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241365190,"owners_count":19951114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["2fa","bootstrap","flask","flask-application","jprogram","jreport","jwt","jwt-token","mongo","mongodb","python","rabbitmq","vue","vuejs"],"created_at":"2024-11-12T23:31:13.136Z","updated_at":"2025-12-30T19:36:28.248Z","avatar_url":"https://github.com/my-python-projects.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JReport\n\n[English](#english-version) | [Português](#versão-em-português)\n\n## English Version\n\n### Table of Contents\n- [Description](#description)\n- [Technologies Used](#technologies-used)\n- [Installation and Configuration](#installation-and-configuration)\n  - [Run with Docker and Docker Compose](#run-with-docker-and-docker-compose)\n  - [Run without Docker](#run-without-docker)\n    - [Backend](#backend)\n    - [Frontend](#frontend)\n    - [Run using .bat scripts](#run-using-bat-scripts)\n- [Features](#features)\n- [Contributing](#contributing)\n- [License](#license)\n\n### Description\n\nJReport is a web application that uses two-factor authentication (2FA) to enhance user security. After the initial login, users who have 2FA enabled must provide a code generated by their authenticator app. The project also includes the functionality of generating reports in Word format.\n\n### Technologies Used\n\n**Frontend**\n- Vue.js\n- Bootstrap\n\n**Backend**\n- Flask\n- Pymongo\n- Flask-JWT-Extended\n- PyOTP\n- qrcode\n- RabbitMQ (with Pika)\n\n**Messaging**\n- RabbitMQ\n\n### Installation and Configuration\n\n#### Prerequisites\n\n- Python 3.x\n- Node.js 20\n- MongoDB\n\n  OR\n\n- Docker\n- Docker Compose\n\n### Run with Docker and Docker Compose\n\n1. Make sure you have Docker and Docker Compose installed on your machine.\n2. Run the following command in the project's root directory:\n\n    ```sh\n    docker-compose up --build\n    ```\n\n3. The application will be available at:\n    - Frontend: [http://localhost:8080](http://localhost:8080)\n    - Backend: [http://localhost:5000](http://localhost:5000)\n\n### Run without Docker\n\n#### Backend\n\n1. Navigate to the backend directory:\n\n    ```sh\n    cd backend\n    ```\n\n2. Create and activate a virtual environment:\n\n    ```sh\n    python -m venv venv\n    source venv/bin/activate  # For Windows: venv\\Scripts\\activate\n    ```\n\n3. Install dependencies:\n\n    ```sh\n    pip install -r requirements.txt\n    ```\n\n4. Configure environment variables in the `.env` file.\n\n5. Start the server:\n\n    ```sh\n    python app.py\n    ```\n\n#### Frontend\n\n1. Navigate to the frontend directory:\n   \n    ```sh\n    cd frontend\n    ```\n\n2. Install dependencies:\n   \n    ```sh\n    npm install\n    ```\n\n3. Start the server:\n   \n    ```sh\n    npm run serve\n    ```\n\n4. The application will be available at [http://localhost:8080](http://localhost:8080).\n\n### Run using .bat scripts\n\n#### Backend\n\n1. Navigate to the `run` directory in the project root.\n\n    ```sh\n    cd run\n    ```\n   \n2. Run the `backend.bat` script\n\n    ```sh\n    backend.bat\n    ```\n\n#### Frontend\n\n1. Navigate to the `run` directory in the project root.\n\n    ```sh\n    cd run\n    ```\n   \n2. Run the `frontend.bat` script\n\n    ```sh\n    frontend.bat\n    ```\n\n### Features\n\n- 2FA Authentication: After the initial login, if 2FA is enabled, the user must provide an additional authentication code.\n\n- Report Generation: Generation of reports in Word format.\n\n- Messaging with RabbitMQ: Use RabbitMQ for asynchronous task processing.\n\n### Contributing\n\n1. Fork the project.\n\n2. Create a branch for your feature (`git checkout -b feature/your-feature`).\n\n3. Commit your changes (`git commit -m 'Add your feature'`).\n\n4. Push to the branch (`git push origin feature/your-feature`).\n\n5. Open a Pull Request.\n\n### License\nThis project is licensed under the MIT License.\n\n\n## Versão em Português\n\n### Índice\n- [Descrição](#descrição)\n- [Tecnologias Utilizadas](#tecnologias-utilizadas)\n- [Instalação e Configuração](#instalação-e-configuração)\n  - [Executar com Docker e Docker Compose](#executar-com-docker-e-docker-compose)\n  - [Executar sem Docker](#executar-sem-docker)\n    - [Backend](#backend)\n    - [Frontend](#frontend)\n    - [Executar usando scripts .bat](#executar-usando-scripts-bat)\n- [Funcionalidades](#funcionalidades)\n- [Contribuição](#contribuição)\n- [Licença](#licença)\n\n### Descrição\n\nJReport é uma aplicação web que utiliza autenticação com duas etapas (2FA) para aumentar a segurança dos usuários. Após o login inicial, os usuários que têm o 2FA ativado devem fornecer um código gerado pelo seu aplicativo autenticador. O projeto também inclui a funcionalidade de geração de relatórios em formato Word.\n\n### Tecnologias Utilizadas\n\n**Frontend**\n- Vue.js\n- Bootstrap\n\n**Backend**\n- Flask\n- Pymongo\n- Flask-JWT-Extended\n- PyOTP\n- qrcode\n- RabbitMQ (com Pika)\n\n**Mensageria**\n- RabbitMQ\n\n### Instalação e Configuração\n\n#### Pré-requisitos\n\n- Python 3.x\n- Node.js 20\n- MongoDB\n\n  OU\n\n- Docker\n- Docker Compose\n\n### Executar com Docker e Docker Compose\n\n1. Certifique-se de ter o Docker e o Docker Compose instalados na sua máquina.\n2. Execute o seguinte comando no diretório raiz do projeto:\n\n    ```sh\n    docker-compose up --build\n    ```\n\n3. A aplicação estará disponível em:\n    - Frontend: [http://localhost:8080](http://localhost:8080)\n    - Backend: [http://localhost:5000](http://localhost:5000)\n\n### Executar sem Docker\n\n#### Backend\n\n1. Navegue até o diretório backend:\n\n    ```sh\n    cd backend\n    ```\n\n2. Crie e ative um ambiente virtual:\n\n    ```sh\n    python -m venv venv\n    source venv/bin/activate  # For Windows: venv\\Scripts\\activate\n    ```\n\n3. Instale as dependências:\n\n    ```sh\n    pip install -r requirements.txt\n    ```\n\n4. Configure as variáveis de ambiente no arquivo .env\n  - Renomeie o arquivo .env-example para .env e modifique as váriaveis.\n\n5. Inicie o servidor:\n\n    ```sh\n    python app.py\n    ```\n\n#### Frontend\n\n1. Navegue até o diretório frontend:\n   \n    ```sh\n    cd frontend\n    ```\n\n2. Instale as dependências:\n   \n    ```sh\n    npm install\n    ```\n\n3. Inicie o servidor:\n   \n    ```sh\n    npm run serve\n    ```\n\n4. A aplicação estará disponível em [http://localhost:8080](http://localhost:8080).\n\n### Executar usando scripts .bat\n\n#### Backend\n\n1. Navegue até o diretório `run` no raiz do projeto.\n\n    ```sh\n    cd run\n    ```\n   \n2. Execute o script `backend.bat`\n\n    ```sh\n    backend.bat\n    ```\n\n#### Frontend\n\n1. Navegue até o diretório `run` no raiz do projeto.\n\n    ```sh\n    cd run\n    ```\n   \n2. Execute o script `frontend.bat`\n\n    ```sh\n    frontend.bat\n    ```\n\n### Funcionalidades\n\n- Autenticação 2FA: Após o login inicial, se o 2FA estiver ativado, o usuário deve fornecer um código de autenticação adicional.\n\n- Geração de Relatórios: Geração de relatórios em formato Word.\n\n- Mensageria com RabbitMQ: Utilização do RabbitMQ para processamento assíncrono de tarefas.\n\n### Contribuição\n\n1. Faça um fork do projeto.\n\n2. Crie uma branch para sua feature (`git checkout -b feature/your-feature`).\n\n3. Faça commit das suas alterações (`git commit -m 'Add your feature'`).\n\n4. Faça push para a branch (`git push origin feature/your-feature`).\n\n5. Abra um Pull Request.\n\n### Licença\nEste projeto está licenciado sob a MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmy-python-projects%2Fjreport","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmy-python-projects%2Fjreport","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmy-python-projects%2Fjreport/lists"}