Conversation
- se eliminaron archivos go.mod y main.go de algunos microservicios - se migra todo el backend a python
- se añadio flake8.yml y su configuracion - se añadio .flake8
…gration - se agrego los esquemas, modelos y la logica crud al microservicio - se genero la api que comprende al microservicio - se cambiaron los nombres de ciertos archivos para que vaya de acuerdo a la notacion
- se agregaron cambios en projects_routes.py para implementar de manera correcta CRUD - se agrgaron camios en schemas para hacer los esquemas mas adaptables - se agrego la verificacion con auth.py - se agrego auth.py al modulo `src` de projects-service
- notification_controller.py: defines endpoints for email and push notifications - notification_service.py: contains core logic for sending notifications - utils/email_sender.py: handles email sending via SMTP - utils/push_sender.py: handles push notifications via Firebase - utils/mq_listener.py: listens to events from RabbitMQ and triggers notifications - utils/__init__.py: marks utils as a Python package
…greSQL and MongoDB support - Se agregaron las conexiones para MongoDB, PostgreSQL y archivos JSON. - Se creó el archivo `config.py` para la configuración general del microservicio. - Se agregó el archivo provisional `DBselect.py` para seleccionar la base de datos a utilizar. - Se renombraron o eliminaron archivos según la nueva estructura del servicio.
… operations. - Se eliminó la carpeta `routes/`. - Se movió `projects_routes.py` desde `routes/` a la raíz del microservicio. - Se reestructuró `src/__init__.py` para mejorar la importación y ejecución de rutas.
…ers and main service for ExternalTools to correct directory - se movio toda la logica del microservicio a su directorio correspondiente
…rror handling; update CI workflow and dependencies
… endpoint response
…h routing and middleware
…ce with static logout method and register placeholder; modify tests to use PostgreSQLDB
…t definitive - se actualizo los `.gitignore` para que evitar mandar los `.env` de cada microservicio. - se modificaron diferentes rutas de importacion para poder poner en funcionamiento los microservicios. - se reajustaron algunas bases de datos.
- Includes setup for auth, projects, documents, notifications, externaltools, and gateway services.
…edit, and task detail functionalities - Added ProjectDetailPage to display project information, tasks, documents, and activities. - Created ProjectEditScreen for editing project details with form validation. - Developed ProjectsPage for listing projects with search functionality. - Introduced TaskDetailScreen to show task details and allow status updates. - Added ToolAnalyticsScreen, ToolCalendarScreen, and ToolChatScreen as placeholders for future features. Co-authored-by: vollereiseelee Co-authored-by: andreztxt
…ement - Deleted `projects.json`, `pytest.ini`, `requirements.txt`, and `run-backend.ps1` as part of the cleanup. - Introduced `pyproject.toml` for managing dependencies and project configuration using Poetry. - Updated dependencies to their respective versions for better compatibility and maintenance.
…on screens - Added `pyproject.toml` for backend dependencies and configuration. - Created `login_screen.dart` for user authentication. - Implemented `register_screen.dart` for user registration. - Developed `account_settings_screen.dart` for user account management. - Added `documents_screen.dart` to display user documents. - Created `externaltools_screen.dart` for external tools integration. - Implemented `home_screen.dart` with bottom navigation for different sections. - Developed `notifications_preferences_screen.dart` for notification settings. - Added `notifications_screen.dart` to display user notifications. - Created `profile_screen.dart` for user profile management. - Implemented `project_create_screen.dart` for creating new projects. - Developed `project_detail_screen.dart` to show project details and activities. - Added `projects_screen.dart` to list user projects.
… UI screens - Implemented ProjectDTO, ProjectMemberDTO, TaskDTO, and ActivityDTO models for data representation. - Created ProjectService for handling API interactions related to projects, tasks, and activities. - Developed UI screens for account settings, documents, external tools, home, notifications, profile, project creation, project details, and project listing. - Integrated navigation and state management for a seamless user experience. - Added functionality for creating, updating, and deleting projects and tasks. - Included notification preferences and user profile management features.
…ved error handling and API integration
…n the project detail screen
…nto Development
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
||||||||||||||||||||
PR Type
Enhancement, Tests, Bug fix
Description
Major frontend implementation for a project management app, including:
Backend enhancements:
Dependency updates:
flutter_secure_storageand other plugins for Linux, Windows, and macOS builds.Extensive test coverage:
Refactored main entry point and removed default Flutter counter app.
Changes walkthrough 📝
5 files
generated_plugin_registrant.cc
Register flutter_secure_storage_linux plugin in Linux buildfrontend/linux/flutter/generated_plugin_registrant.cc
flutter_secure_storage_linuxplugin.fl_register_pluginsfunction.generated_plugin_registrant.cc
Register flutter_secure_storage_windows plugin in Windows buildfrontend/windows/flutter/generated_plugin_registrant.cc
flutter_secure_storage_windowsplugin.RegisterPluginsfunction.
generated_plugins.cmake
Add flutter_secure_storage_linux to CMake plugin listfrontend/linux/flutter/generated_plugins.cmake
flutter_secure_storage_linuxto the list of Flutter plugins.generated_plugins.cmake
Add flutter_secure_storage_windows to CMake plugin listfrontend/windows/flutter/generated_plugins.cmake
flutter_secure_storage_windowsto the list of Flutter plugins.GeneratedPluginRegistrant.swift
Register additional Flutter plugins for macOS supportfrontend/macos/Flutter/GeneratedPluginRegistrant.swift
flutter_secure_storage_macos,path_provider_foundation, andshared_preferences_foundation.53 files
project_detail_screen.dart
Add simulated ProjectDetailPage UI for project details and tabsfrontend/test/project_detail_screen.dart
ProjectDetailPagewidget.activity tabs.
tab navigation.
methods for UI rendering.
dashboard_screen.dart
Add DashboardScreen for project/task/notification overviewfrontend/lib/features/home/screens/dashboard_screen.dart
actions.
lists.
app_router.dart
Implement GoRouter-based app routing with navigation shellfrontend/lib/routes/app_router.dart
MainShellwidget with a persistent navigation rail.documents, notifications, tools, and profile.
project_service.dart
Add ProjectService for project/task/member/activity API operationsfrontend/lib/features/home/data/project_service.dart
activities, and comments.
project_detail_screen.dart
Add ProjectDetailPage with backend integration and tabsfrontend/lib/features/home/screens/project_detail_screen.dart
ProjectDetailPagewidget for displaying project details.backend.
activity.
dialog.
create_task_screen.dart
Add CreateTaskScreen for task creation with formfrontend/lib/features/home/screens/create_task_screen.dart
date, assignee, priority, status, tags, and metadata.
task_detail_screen.dart
Add TaskDetailScreen for viewing and commenting on tasksfrontend/lib/features/home/screens/task_detail_screen.dart
comments.
project_edit_screen.dart
Add ProjectEditScreen for editing project detailsfrontend/lib/features/home/screens/project_edit_screen.dart
main.dart
Refactor main entry for providers, theme, routing, and error loggingfrontend/lib/main.dart
logging.
TaskHub app structure.
notifications_preferences_screen.dart
Add NotificationsPreferencesScreen for notification settingsfrontend/lib/features/home/screens/notifications_preferences_screen.dart
quiet hours.
project_create_screen.dart
Add CreateProjectPage for new project creationfrontend/lib/features/home/screens/project_create_screen.dart
members.
auth_service.dart
Add AuthService for authentication and user profile managementfrontend/lib/features/auth/data/auth_service.dart
and profile management.
development.
project_models.dart
Add project, task, member, activity, and comment modelsfrontend/lib/features/home/data/project_models.dart
comments.
colors.dart
Add AppColors constants for consistent color usagefrontend/lib/core/constants/colors.dart
colors.
document_create_screen.dart
Add document creation screen with form and service integrationfrontend/lib/features/home/screens/document_create_screen.dart
DocumentCreateScreenfor creatingdocuments.
content type, URL, description, tags, and metadata.
DocumentServiceto create a document and provides userfeedback.
externaltools_screen.dart
Add external tools management screen with connection listingfrontend/lib/features/home/screens/externaltools_screen.dart
ExternalToolsScreento display and manage external toolconnections.
ExternalToolsServiceand displays themin a list.
external_tools_models.dart
Add models for external tools and OAuth integrationfrontend/lib/features/home/data/external_tools_models.dart
external resources, and resource syncs.
fromJsonfactory for parsingAPI responses.
tool_calendar_screen.dart
Add external calendar integration screen with event creationfrontend/lib/features/home/screens/tool_calendar_screen.dart
ToolCalendarScreenfor viewing and creating external calendarevents.
ExternalToolsServiceto fetch and create events.task_edit_screen.dart
Add task editing screen with form and update logicfrontend/lib/features/home/screens/task_edit_screen.dart
TaskEditScreenfor editing project tasks.assignee, due date, priority, and status.
ProjectServiceto update tasks and shows userfeedback.
notifications_screen.dart
Add notifications screen with mark-as-read functionalityfrontend/lib/features/home/screens/notifications_screen.dart
NotificationsScreento display user notifications.NotificationServiceand displays them in alist.
document_edit_screen.dart
Add document editing screen with form and update logicfrontend/lib/features/home/screens/document_edit_screen.dart
DocumentEditScreenfor editing document details.metadata.
DocumentServiceto update documents and shows userfeedback.
projects_screen.dart
Add projects listing screen with search and navigationfrontend/lib/features/home/screens/projects_screen.dart
ProjectsPagefor listing and searching projects.ProjectServiceand displays them in a list.tool_analytics_screen.dart
Add analytics integration screen for Metabase cardsfrontend/lib/features/home/screens/tool_analytics_screen.dart
ToolAnalyticsScreenfor querying analytics data from Metabase.ExternalToolsService.documents_screen.dart
Add documents listing screen with navigation and creationfrontend/lib/features/home/screens/documents_screen.dart
DocumentsPagefor listing project documents.DocumentServiceand displays them in a list.change_password_screen.dart
Add change password screen with validation and feedbackfrontend/lib/features/home/screens/change_password_screen.dart
ChangePasswordScreenfor changing user password.user_edit_screen.dart
Add user profile editing screen with form and updatefrontend/lib/features/home/screens/user_edit_screen.dart
UserEditScreenfor editing user profile information.AuthService.notification_models.dart
Add notification and preferences data modelsfrontend/lib/features/home/data/notification_models.dart
fromJsonfactories, and atoJsonmethod forpreferences.
document_detail_screen.dart
Add document detail screen with fetch and edit navigationfrontend/lib/features/home/screens/document_detail_screen.dart
DocumentDetailScreenfor viewing detailed information about adocument.
DocumentServiceand displays all fields.document_service.dart
Add document service for CRUD operations with APIfrontend/lib/features/home/data/document_service.dart
DocumentServicefor interacting with the backend document API.deleting documents.
theme.dart
Add application-wide light and dark theme definitionsfrontend/lib/theme/theme.dart
AppThemeclass with light and dark theme definitions.register_screen.dart
Add registration screen with validation and navigationfrontend/lib/features/auth/screens/register_screen.dart
password, and confirmation.
login_screen.dart
Add login screen with authentication simulationfrontend/lib/features/auth/screens/login_screen.dart
external_tools_service.dart
Add service for external tools and integrations APIfrontend/lib/features/home/data/external_tools_service.dart
ExternalToolsServicefor interacting with external tools APIs.events, and analytics data.
register_screen.dart
Add registration screen with AuthService integrationfrontend/lib/features/auth/presentation/register_screen.dart
AuthServicefor userregistration.
success.
notification_service.dart
Add notification service for user notifications and preferencesfrontend/lib/features/home/data/notification_service.dart
NotificationServicefor managing notifications and preferences.notifications, and managing preferences.
profile_screen.dart
Add profile screen with navigation to edit and settingsfrontend/lib/features/home/screens/profile_screen.dart
ProfilePagefor displaying user profile information.login_screen.dart
Add login screen with AuthService authenticationfrontend/lib/features/auth/presentation/login_screen.dart
AuthServicefor authentication.success.
home_screen.dart
Add main home screen with navigation rail and sectionsfrontend/lib/features/home/screens/home_screen.dart
HomeScreenwith a navigation rail for main app sections.tools, and profile screens.
account_settings_screen.dart
Add account settings screen with password and theme optionsfrontend/lib/features/home/screens/account_settings_screen.dart
AccountSettingsPagefor managing account settings.theme.
document_models.dart
Add document data model for API integrationfrontend/lib/features/home/data/document_models.dart
DocumentDTOmodel for representing document data.fromJsonfactory.auth_models.dart
Add authentication token and user profile modelsfrontend/lib/features/auth/data/auth_models.dart
fromJsonfactories for both models.strings.dart
Add application-wide string constants for UIfrontend/lib/core/constants/strings.dart
AppStringsclass with static string constants for UI text.tool_chat_screen.dart
Add placeholder screen for external chat integrationfrontend/lib/features/home/screens/tool_chat_screen.dart
ToolChatScreenas a placeholder for external chat integration.section_card.dart
Add StatusBadge widget for status display with colorfrontend/lib/core/widgets/section_card.dart
StatusBadgewidget for displaying status with colorcoding.
theme_provider.dart
Add ThemeProvider for app-wide theme management and persistencefrontend/lib/theme/theme_provider.dart
ThemeProviderclass for managing dark/light theme state.SharedPreferences.custom_textfield.dart
Add reusable CustomTextField widget for styled inputfrontend/lib/core/widgets/custom_textfield.dart
CustomTextFieldwidget for reusable styled text input.primary_button.dart
Add PrimaryButton widget for consistent primary actionsfrontend/lib/core/widgets/primary_button.dart
PrimaryButtonwidget for consistent primary action buttons.navigation_utils.dart
Add smartPop navigation utility for flexible back navigationfrontend/lib/core/widgets/navigation_utils.dart
smartPoputility function for navigation.fallback route.
go_routerfor flexible navigation handling.document_service.py
Add DocumentService with CRUD, permissions, and versioning logicbackend/api/document_service/app/services/document_service.py
DocumentServiceclass for document management.integration with Supabase for storage.
permissions.
main.py
Add FastAPI app for project management endpoints and logicbackend/api/project_service/app/main.py
activities, and command pattern actions.
project_service.py
Add ProjectService for project and member management logicbackend/api/project_service/app/services/project_service.py
ProjectServiceclass for project and member management.main.py
Add FastAPI app for external tools and integrationsbackend/api/external_tools_service/app/main.py
and calendar features.
sms_tools.py
Add Twilio SMS sending utility for external toolsbackend/api/external_tools_service/app/services/sms_tools.py
send_sms_twiliofunction for sending SMS using Twilio.10 files
profile_screen.dart
Add test profile screen with settings and logoutfrontend/test/profile_screen.dart
ProfilePagewidget for displaying and editing userprofile information.
and logout functionality.
project_create_screen.dart
Add test project creation screen with formfrontend/test/project_create_screen.dart
home_screen.dart
Add test home screen with bottom navigationfrontend/test/home_screen.dart
HomeScreenwith bottom navigation for main app sections.tools, and profile.
externaltools_screen.dart
Add test external tools listing screenfrontend/test/externaltools_screen.dart
descriptions.
projects_screen.dart
Add test projects listing screen with navigationfrontend/test/projects_screen.dart
and creation.
account_settings_screen.dart
Add test account settings screen with actionsfrontend/test/account_settings_screen.dart
documents_screen.dart
Add test documents listing screen with actionsfrontend/test/documents_screen.dart
notifications_screen.dart
Add NotificationsPage widget for notification displayfrontend/test/notifications_screen.dart
NotificationsPagewidget for displaying notifications.ExpansionTileto show notification details.notifications_preferences_screen.dart
Add NotificationPreferencesPage for notification settings UIfrontend/test/notifications_preferences_screen.dart
NotificationPreferencesPagewidget for notification settings.out.txt
Add or update backend test output and coverage reportbackend/out.txt
101 files