Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
6cd4500
issue(#15) : Agrega dependencia dotenv
danusitacm May 25, 2025
1e3b8ac
Implenta el uso de .env
danusitacm May 25, 2025
a19acbc
issue(#15) : Ignora .env.example en el gitignore
danusitacm May 25, 2025
cdd14a1
issue(#15) : Actualiza instrucciones del README.md
danusitacm May 25, 2025
2053164
issue(#15) : Crea archivo .env.example
danusitacm May 25, 2025
c0298ed
issue(#4): Refactoriza notificationsAsRead endpoint
danusitacm May 25, 2025
0a9c911
issue(#4): Refactoriza notificationsAsRead endpoint
danusitacm May 25, 2025
abcf6f7
issue(#17): Agrega inyecccion de dependencias
danusitacm Jun 1, 2025
5602e1a
issue(#17) : modifica estructura de BlocProvider
danusitacm Jun 1, 2025
1c11fc1
issue(#17) : Separa las capas de auth y notificacion
danusitacm Jun 1, 2025
8e35b1a
issue(#7) : Agrega obtencion de los datos del usuario
danusitacm Jun 1, 2025
6cf5457
issue(#17) : Actualizaendpoint de notificaciones
danusitacm Jun 1, 2025
c3f1ab6
issue(#7) : Mejora el manejo de excepciones de auth
danusitacm Jun 1, 2025
fa2d801
issue( #17) : Modifica error de iconos
danusitacm Jun 2, 2025
6fa00d3
issue(#17) : Soluciona problema de iconos
danusitacm Jun 2, 2025
87943aa
issue(#17) : Limpia comentarios y dart-analyze
danusitacm Jun 2, 2025
467198b
issue(#17) : Modificacion de carpeta api_routes
danusitacm Jun 2, 2025
5a985cc
issue(#17) : Elimina instancias de Blocs
danusitacm Jun 2, 2025
cd31025
issue(#17): Refactor authbloc y eventos
danusitacm Jun 3, 2025
645ee47
issue(#17): Refactorizacion de dashboard bloc
danusitacm Jun 3, 2025
c49e8b6
issue(#17) : Se modifico la carpeta de NotificacionesBLoc
danusitacm Jun 3, 2025
d07c8b4
issue(#17) : Elimina archivos que fueron movidos
danusitacm Jun 3, 2025
0ad935a
issue(#17) : Modifica el uso de blocs en pantallas
danusitacm Jun 3, 2025
93daabb
issue(#17): Implementa desconexion por inactividad
danusitacm Jun 3, 2025
43d2dfd
issue(#17) : Agrega instancias Bloc en locator.dart
danusitacm Jun 5, 2025
e476e12
issue(#17) : Arregla manejo de access y refresh token
danusitacm Jun 5, 2025
20ecfaf
issue(#17) : Restaura dashboard
danusitacm Jun 5, 2025
c95f2e6
issue(#1 7) : Limpia comentarios
danusitacm Jun 5, 2025
d53ebf9
issue(#17) : Aplica cambios del dart analyze
danusitacm Jun 5, 2025
e5d07f3
issue(#17) : Elimina debugPrint y comenta
danusitacm Jun 5, 2025
c1b98e6
issue(#17) : Actualiza el README.md
danusitacm Jun 5, 2025
20e2499
issue(#17): Incluye archivos de configuracion de Linux
danusitacm Jun 5, 2025
61180fe
issue(#17) : Agrega soporte a windows y macOS
danusitacm Jun 5, 2025
ac0a8fd
Actualizar .gitignore para ignorar archivos generados correctamente
danusitacm Jun 5, 2025
eb950aa
Eliminar archivos generados del seguimiento de Git
danusitacm Jun 5, 2025
2b77fb6
issue(#17) : Actualiza el README.md
danusitacm Jun 5, 2025
97f6d04
issue(#17) : Arregla error de cerrar posts
danusitacm Jun 7, 2025
fe39aa1
issue(#21) : Agrega menu hamburgesa
danusitacm Jun 7, 2025
f2ff1e3
issue(#21) : Agrega dialogo de confirmacion
danusitacm Jun 7, 2025
ba35986
issue(#21) : Agrega indicador de notificaciones no leidas
danusitacm Jun 7, 2025
aa93c3d
issue(#21) : Agrega mostrar 15 notificaciones
danusitacm Jun 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
BASE_URL="http://localhost:8080/api"
66 changes: 58 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,14 @@
.history
.svn/
migrate_working_dir/
*.lock
.metadata

# Evitar los archivos lock excepto para pubspec.lock
Podfile.lock
Gemfile.lock
*.lock
!pubspec.lock

# IntelliJ related
*.iml
*.ipr
Expand Down Expand Up @@ -59,7 +64,7 @@ migrate_working_dir/
.pub/
build/
coverage/
lib/generated_plugin_registrant.dart
**/lib/generated_plugin_registrant.dart
flutter_*.png
linked_*.ds
unlinked.ds
Expand Down Expand Up @@ -139,22 +144,43 @@ ios/Podfile.lock
**/xcuserdata/

# macOS
macos/
**/Flutter/ephemeral/
**/Pods/
**/macos/Flutter/GeneratedPluginRegistrant.swift
**/macos/Flutter/ephemeral/
**/macos/Pods/
**/macos/Flutter/Flutter.podspec
**/macos/.symlinks/
**/macos/Flutter/ephemeral
**/macos/**/*.mode1v3
**/macos/**/*.mode2v3
**/macos/**/*.moved-aside
**/macos/**/*.pbxuser
**/macos/**/*.perspectivev3
**/macos/**/*sync/
**/macos/**/.sconsign.dblite
**/macos/**/.tags*
**/macos/**/.vagrant/
**/macos/**/DerivedData/
**/macos/**/Icon?
**/macos/**/.symlinks/
**/macos/**/profile
**/macos/**/xcuserdata
**/macos/**/GeneratedPluginRegistrant.swift
# No ignoramos toda la carpeta macos/ porque contiene archivos necesarios para el proyecto

# Windows
**/windows/flutter/generated_plugin_registrant.cc
**/windows/flutter/generated_plugin_registrant.h
**/windows/flutter/generated_plugins.cmake
**/windows/.plugin_symlinks/
**/windows/out/

# Linux
linux/
# linux/ # Comentado para incluir los archivos necesarios de Linux
**/linux/flutter/generated_plugin_registrant.cc
**/linux/flutter/generated_plugin_registrant.h
**/linux/flutter/generated_plugins.cmake
**/linux/.generated_plugins
**/linux/.plugin_symlinks/
**/linux/out/

# Android Studio
/*/build/
Expand Down Expand Up @@ -218,7 +244,31 @@ gen-external-apklibs
*.ear

# Environment files
.env*
*.env*
!.env.example

# Firebase configuration files (si se usan)
google-services.json
GoogleService-Info.plist
firebase_options.dart

# VSCode specific
.vscode/*
!.vscode/extensions.json
!.vscode/launch.json
!.vscode/settings.json
!.vscode/tasks.json

# Flutter version manager
.fvm/

# Archivos generados por Flutter en todas las plataformas
**/GeneratedPluginRegistrant.*
**/generated_plugin_registrant.*
**/generated_plugins.cmake
**/.generated/
**/.dart_tool/
**/ephemeral/

# Exceptions to above rules.
!**/ios/**/default.mode1v3
Expand Down
26 changes: 26 additions & 0 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,3 +150,29 @@ Al ejecutar `flutter run` podrían aparecer estos _warnings_:
<img src="images/warning_java8.png" width="600" >

Esto no afecta el funcionamiento de la app.

## Desarrollo para Plataformas Desktop

### Ejecución en Plataformas Desktop
Este proyecto está configurado para ejecutarse directamente en Linux, Windows y macOS después de clonar, sin necesidad de ejecutar `flutter create .`. Los directorios necesarios ya están incluidos en el repositorio.

#### Linux Desktop
Para ejecutar en Linux Desktop:
```bash
$ cd <ruta-del-proyecto>
$ flutter run -d linux
```

#### Windows Desktop
Para ejecutar en Windows:
```bash
$ cd <ruta-del-proyecto>
$ flutter run -d windows
```

#### macOS Desktop
Para ejecutar en macOS:
```bash
$ cd <ruta-del-proyecto>
$ flutter run -d macos
```
52 changes: 42 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
## Entorno de desarrollo
| Componente| Version |
|----------|----------|
| Flutter | 3.29.2 |
| Flutter | 3.29.3 |
| Dart | 3.7.2 |
| Android Studio | 2024.3 |
| Android SDK | 35.0.1 |
Expand All @@ -18,31 +18,63 @@ Sigue estos pasos para configurar y ejecutar el proyecto localmente:
git clone https://github.com/jokoframework/littlecow.git
cd littlecow

# 2. Limpiar el proyecto
# 2. Configurar variables de entorno
cp .env.example .env
# Edita el archivo .env con tus configuraciones

# 3. Limpiar el proyecto
flutter clean

# 3. Instalar dependencias
# 4. Instalar dependencias
flutter pub get

# 4. Ejecutar (usar tu dispositivo conectado o emulador)
# 5. Ejecutar (usar tu dispositivo conectado o emulador)
flutter run
```

### Ejecutar en Linux Desktop
Para ejecutar específicamente en tu escritorio Linux, sigue estos pasos:
### Configuración para Dispositivos Móviles
**IMPORTANTE:** Cuando pruebes la aplicación con un teléfono conectado o emulador, debes modificar el archivo `.env` para cambiar "localhost" por la IP del servidor en `BASE_URL`.

Ejemplo:
```bash
# Original
BASE_URL="http://localhost:8080/api"

# Modificado para dispositivo móvil
BASE_URL="http://192.168.X.X:8080/api"
```


### Ejecutar en Plataformas Desktop
Este proyecto está configurado para ejecutarse directamente en Linux, Windows y macOS sin necesidad de ejecutar `flutter create .` después de clonar el repositorio.

#### Linux Desktop
```bash
# 1. Verificar las dependencias necesarias para desarrollo en Linux
sudo apt-get update
sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev
# 2. Habilitar soporte para Linux
flutter config --enable-linux-desktop
# 3. Ejecutar específicamente para Linux desktop
flutter run -d linux
```

#### Windows Desktop
```bash
# 2. Habilitar soporte para Linux (si aún no está habilitado)
flutter config --enable-linux-desktop
# 1. Habilitar soporte para Windows dekstop
flutter config --enable-windows-desktop
# 2. Ejecutar específicamente para Windows desktop
flutter run -d windows
```

#### macOS Desktop
```bash
# 3. Ejecutar específicamente para Linux desktop
flutter run -d linux
# 1. Instalar XCode desde la App Store y las tools de línea de comandos
xcode-select --install
# 2. Habilitar soporte para macOS desktop
flutter config --enable-macos-desktop
# 3. Ejecutar específicamente para macOS desktop
flutter run -d macos
```

## Capturas de Pantalla
Expand Down
41 changes: 41 additions & 0 deletions lib/controller/bloc/app_bloc_observer.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import 'package:flutter/foundation.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter/material.dart';

class AppBlocObserver extends BlocObserver {
AppBlocObserver();

@override
void onCreate(BlocBase bloc) {
debugPrint('📦 Bloc creado: ${bloc.runtimeType}');
super.onCreate(bloc);
}

@override
void onClose(BlocBase bloc) {
debugPrint('🔒 Bloc cerrado: ${bloc.runtimeType}');
super.onClose(bloc);
}
@override
void onChange(BlocBase bloc, Change change) {
debugPrint('🔄 Bloc cambiado: ${bloc.runtimeType}, Cambio: $change');
super.onChange(bloc, change);
}

@override
void onError(BlocBase bloc, Object error, StackTrace stackTrace) {
debugPrint('🚫 Bloc Error: ${bloc.runtimeType}, Error: $error');
super.onError(bloc, error, stackTrace);
}

@override
void onEvent(Bloc bloc, Object? event) {
debugPrint('📣 Bloc: ${bloc.runtimeType}, Event: $event');
super.onEvent(bloc, event);
}

@override
void onTransition(Bloc bloc, Transition transition) {
super.onTransition(bloc, transition);
}
}
Loading