feat: Add Nanaxe server with Docker, GitHub Actions CI/CD, and auto-deployment

- Add complete server infrastructure with Gitea, API, PostgreSQL
- Implement Obsidian-compatible markdown mindmap converter
- Add Flutter service for server synchronization
- Configure GitHub Actions for automated build and deploy
- Add production docker-compose with health checks
- Include VPS setup and deployment scripts
- Add comprehensive deployment documentation
This commit is contained in:
2026-04-19 22:18:25 +05:00
parent 52aea9ac87
commit f1e0f6b5ef
56 changed files with 8892 additions and 397 deletions
+9 -4
View File
@@ -35,8 +35,12 @@ class AlarmModel {
factory AlarmModel.fromFirestore(DocumentSnapshot doc) {
final data = doc.data() as Map<String, dynamic>;
return AlarmModel.fromMap(doc.id, data);
}
factory AlarmModel.fromMap(String id, Map<String, dynamic> data) {
return AlarmModel(
id: doc.id,
id: id,
title: data['title'] ?? '',
taskId: data['taskId'],
eventId: data['eventId'],
@@ -107,10 +111,10 @@ class AlarmModel {
DateTime get nextOccurrence {
if (!isRepeating) return dateTime;
final now = DateTime.now();
if (dateTime.isAfter(now)) return dateTime;
switch (repeatPattern) {
case 'daily':
return dateTime.add(const Duration(days: 1));
@@ -124,7 +128,8 @@ class AlarmModel {
while (!repeatDays.contains(next.weekday)) {
next = next.add(const Duration(days: 1));
}
return DateTime(next.year, next.month, next.day, dateTime.hour, dateTime.minute);
return DateTime(
next.year, next.month, next.day, dateTime.hour, dateTime.minute);
default:
return dateTime;
}