JReport 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.
Frontend
- Vue.js
- Bootstrap
Backend
- Flask
- Pymongo
- Flask-JWT-Extended
- PyOTP
- qrcode
- RabbitMQ (with Pika)
Messaging
- RabbitMQ
-
Python 3.x
-
Node.js 20
-
MongoDB
OR
-
Docker
-
Docker Compose
-
Make sure you have Docker and Docker Compose installed on your machine.
-
Run the following command in the project's root directory:
docker-compose up --build
-
The application will be available at:
- Frontend: http://localhost:8080
- Backend: http://localhost:5000
-
Navigate to the backend directory:
cd backend
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # For Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Configure environment variables in the
.env
file. -
Start the server:
python app.py
-
Navigate to the frontend directory:
cd frontend
-
Install dependencies:
npm install
-
Start the server:
npm run serve
-
The application will be available at http://localhost:8080.
-
Navigate to the
run
directory in the project root.cd run
-
Run the
backend.bat
scriptbackend.bat
-
Navigate to the
run
directory in the project root.cd run
-
Run the
frontend.bat
scriptfrontend.bat
-
2FA Authentication: After the initial login, if 2FA is enabled, the user must provide an additional authentication code.
-
Report Generation: Generation of reports in Word format.
-
Messaging with RabbitMQ: Use RabbitMQ for asynchronous task processing.
-
Fork the project.
-
Create a branch for your feature (
git checkout -b feature/your-feature
). -
Commit your changes (
git commit -m 'Add your feature'
). -
Push to the branch (
git push origin feature/your-feature
). -
Open a Pull Request.
This project is licensed under the MIT License.
JReport é 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.
Frontend
- Vue.js
- Bootstrap
Backend
- Flask
- Pymongo
- Flask-JWT-Extended
- PyOTP
- qrcode
- RabbitMQ (com Pika)
Mensageria
- RabbitMQ
-
Python 3.x
-
Node.js 20
-
MongoDB
OU
-
Docker
-
Docker Compose
-
Certifique-se de ter o Docker e o Docker Compose instalados na sua máquina.
-
Execute o seguinte comando no diretório raiz do projeto:
docker-compose up --build
-
A aplicação estará disponível em:
- Frontend: http://localhost:8080
- Backend: http://localhost:5000
-
Navegue até o diretório backend:
cd backend
-
Crie e ative um ambiente virtual:
python -m venv venv source venv/bin/activate # For Windows: venv\Scripts\activate
-
Instale as dependências:
pip install -r requirements.txt
-
Configure as variáveis de ambiente no arquivo .env
- Renomeie o arquivo .env-example para .env e modifique as váriaveis.
-
Inicie o servidor:
python app.py
-
Navegue até o diretório frontend:
cd frontend
-
Instale as dependências:
npm install
-
Inicie o servidor:
npm run serve
-
A aplicação estará disponível em http://localhost:8080.
-
Navegue até o diretório
run
no raiz do projeto.cd run
-
Execute o script
backend.bat
backend.bat
-
Navegue até o diretório
run
no raiz do projeto.cd run
-
Execute o script
frontend.bat
frontend.bat
-
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.
-
Geração de Relatórios: Geração de relatórios em formato Word.
-
Mensageria com RabbitMQ: Utilização do RabbitMQ para processamento assíncrono de tarefas.
-
Faça um fork do projeto.
-
Crie uma branch para sua feature (
git checkout -b feature/your-feature
). -
Faça commit das suas alterações (
git commit -m 'Add your feature'
). -
Faça push para a branch (
git push origin feature/your-feature
). -
Abra um Pull Request.
Este projeto está licenciado sob a MIT License.