Skip to content

Commit 55b1383

Browse files
authored
Merge pull request #34 from warteamx/33-update-miscellaneous-code
33 update miscellaneous code
2 parents bdf7d7a + cdb5a9d commit 55b1383

File tree

97 files changed

+8979
-8608
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+8979
-8608
lines changed

.github/workflows/ci-cd.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,12 @@ jobs:
5151
npm run test:ci || npm run test:coverage || npm run test
5252
5353
- name: 📊 Upload Coverage
54-
uses: codecov/codecov-action@v3
55-
if: matrix.package == 'server'
54+
uses: codecov/codecov-action@v4
5655
with:
57-
files: ./server/coverage/lcov.info
56+
files: ./${{ matrix.package }}/coverage/lcov.info
5857
flags: ${{ matrix.package }}
5958
name: ${{ matrix.package }}-coverage
59+
token: ${{ secrets.CODECOV_TOKEN }}
6060
fail_ci_if_error: false
6161

6262
# Build applications (only on main branch)
@@ -101,7 +101,7 @@ jobs:
101101
EXPO_PUBLIC_SUPABASE_ANON_KEY: ${{ secrets.EXPO_PUBLIC_SUPABASE_ANON_KEY }}
102102
run: |
103103
cd client
104-
npm run build:web
104+
npm run build
105105
106106
- name: 🏗️ Build Server
107107
if: matrix.package == 'server'

.releaserc.json

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,13 @@
1515
"semantic-release-gitmoji",
1616
{
1717
"releaseRules": {
18-
"major": [":boom:", ":collision:"],
19-
"minor": [":sparkles:"],
18+
"major": [
19+
":boom:",
20+
":collision:"
21+
],
22+
"minor": [
23+
":sparkles:"
24+
],
2025
"patch": [
2126
":bug:",
2227
":ambulance:",
@@ -99,8 +104,6 @@
99104
"client/package.json",
100105
"server/package.json",
101106
"CHANGELOG.md",
102-
"client/CHANGELOG.md",
103-
"server/CHANGELOG.md",
104107
"client/constants/version.ts"
105108
],
106109
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}",
@@ -109,4 +112,4 @@
109112
],
110113
"@semantic-release/github"
111114
]
112-
}
115+
}

CHANGELOG.md

Lines changed: 20 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -5,73 +5,38 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
98
# [v1.0.4](https://github.com/warteamx/lab1-todoApp/compare/v1.0.3...v1.0.4) (2025-09-05)
109

1110
## 🐛 Bug Fixes
12-
- [`f3736d1`](https://github.com/warteamx/lab1-todoApp/commit/f3736d1) fix(docker): regenerate package-lock.json in Docker build stages
11+
12+
- [`f3736d1`](https://github.com/warteamx/lab1-todoApp/commit/f3736d1) fix(docker): regenerate package-lock.json in Docker build stages
1313

1414
# [v1.0.3](https://github.com/warteamx/lab1-todoApp/compare/v1.0.2...v1.0.3) (2025-09-05)
1515

1616
## 🐛 Bug Fixes
17-
- [`a654108`](https://github.com/warteamx/lab1-todoApp/commit/a654108) fix(ci): resolve npm ci sync issue in Docker build
18-
- [`36d2827`](https://github.com/warteamx/lab1-todoApp/commit/36d2827) fix(ci): resolve rollup optional dependencies issue in test jobs
17+
18+
- [`a654108`](https://github.com/warteamx/lab1-todoApp/commit/a654108) fix(ci): resolve npm ci sync issue in Docker build
19+
- [`36d2827`](https://github.com/warteamx/lab1-todoApp/commit/36d2827) fix(ci): resolve rollup optional dependencies issue in test jobs
1920

2021
# [v1.0.2](https://github.com/warteamx/lab1-todoApp/compare/v1.0.1...v1.0.2) (2025-09-05)
2122

2223
## 🐛 Bug Fixes
23-
- [`8ce7ff6`](https://github.com/warteamx/lab1-todoApp/commit/8ce7ff6) fix(ci): add semantic-release outputs to trigger deploy job
24+
25+
- [`8ce7ff6`](https://github.com/warteamx/lab1-todoApp/commit/8ce7ff6) fix(ci): add semantic-release outputs to trigger deploy job
2426

2527
# [v1.0.1](https://github.com/warteamx/lab1-todoApp/compare/v1.0.0...v1.0.1) (2025-09-05)
2628

2729
## 🐛 Bug Fixes
28-
- [`7a346ba`](https://github.com/warteamx/lab1-todoApp/commit/7a346ba) fix: resolve npm install warnings and server test failures (Issues: [`#26`](https://github.com/warteamx/lab1-todoApp/issues/26))
29-
30-
## 1.0.0 (2025-09-04)
31-
32-
### ⚠ BREAKING CHANGES
33-
34-
* This replaces the existing multi-workflow CI/CD system with a simpler,
35-
more reliable single-workflow approach that ensures quality gates are respected.
36-
37-
* 🚀 ci: refactor CI/CD with simplified unified pipeline ([e93d3b8](https://github.com/warteamx/lab1-todoApp/commit/e93d3b88cee9b2aa8da537e0144864971ecd12ac))
38-
39-
## [1.1.1] - 2025-09-04
40-
41-
### ✨ Features
42-
43-
- Add health service ([ffff6b66](../../commit/ffff6b6620f0674133f50bbed2cf4367b905496b))
44-
- Refactor Button add tests ([1e14099c](../../commit/1e14099ca7dbfd859de2011bb4123b89efc0f55a))
45-
- Add server log functionality with winston and morgan ([88d97ba9](../../commit/88d97ba9669bca4ed1a632fbb01a005f6169bf4e))
46-
- Implement web file upload for avatar with validation ([b8725398](../../commit/b87253987973f01a6a086847c5943331dcc3b95d))
47-
- Add Upload profile ([669b19d2](../../commit/669b19d2676268ac20dca4416f06122d3a28ecd2))
48-
- enhance todo functionality with create, update, and delete operations; refactor API calls and UI components ([19bad4f7](../../commit/19bad4f75533ca962a7aa8fc0134565813743475))
49-
- integrate React Query and theme provider ([ff8e14c1](../../commit/ff8e14c1d74a536129db69076e34ef3326e1fcd8))
50-
- [server] Add delete functionality for todos ([95c0bd7c](../../commit/95c0bd7cdea2bac39054e4a83b26294b42116e24))
51-
- Implement update functionality for todos, including new schemas and routes ([ebd6dbcc](../../commit/ebd6dbcc9ec48817c7ed3f70ea48a5fb6c3f78f0))
52-
- Create Tasks ([a3a7b445](../../commit/a3a7b44580d0b415e2e302f653d254187c2118ac))
53-
- add auth middleware ([bd6ce6c5](../../commit/bd6ce6c57dc8a542451d8b6e3da85f4e3cb07a79))
54-
- Expo add new todo functionality with input and submission handling ([d434b4ac](../../commit/d434b4ac6e449af6dff43923c85d406c738df4ff))
55-
- expo user can fetch todos from the server ([5d589de9](../../commit/5d589de9ec368780a96035022aec1a07beb79593))
56-
- Initialize Express server with TypeScript and basic DDD ([c22dc55f](../../commit/c22dc55f4c5b9a77c099f44846e09f032d1d2dee))
57-
- Replace AsyncStorage with ExpoSecureStore for Supabase authentication storage ([5350ac83](../../commit/5350ac83ba8bee90da6b74f2bdc9b0060641a3aa))
58-
- Implement authentication flow with Supabase, including sign-in and sign-up screens, and user session management ([fbcea75f](../../commit/fbcea75ffe9e70dad6118e75c1ec9ffb6b3b2779))
59-
- Update app configuration for Supabase integration and add auth session support ([66a932fb](../../commit/66a932fb1260eea9b5b24316e8b4adf4f8debcf4))
60-
- Add auth Supabase ([cef73d39](../../commit/cef73d398312a50063228d27e2b2bb6cdc9df622))
61-
- add login screen with email and Meta (Facebook) authentication using AWS Amplify ([22455985](../../commit/22455985d6791ed857b06013881bb27ad1a38692))
62-
- initialize Express TypeScript server with basic structure and routes ([66de69b5](../../commit/66de69b5eb65540027eb68063296b2c8b0845d9d))
63-
- Update README and HomeScreen title. ([0f3d8abd](../../commit/0f3d8abdb13c82600b097095fbd5b0221ba0a55b))
64-
- Initialize Expo app with essential configurations and reset script ([039953d4](../../commit/039953d4f75901a3f906599ffb77ed61614e9152))
65-
66-
### 🧪 Testing
67-
68-
- add profle tests ([ff17cc29](../../commit/ff17cc296aeba5d48d88b29efb430a23a310db6b))
69-
- Add test suite for todo service ([fde787a8](../../commit/fde787a8009af2207bc37a7a7cb9bfd1a6a9cf7b))
70-
- add ProfileForm test suit ([2d6f8777](../../commit/2d6f87776ef3ffb9df9fa3645e1b34d78714d1b3))
71-
- Add test to AvatarUpload component ([1f80f0e5](../../commit/1f80f0e5adc0a9d16d3f1b584ab7cf6fc519480d))
72-
- tests to View UI component ([2b96736a](../../commit/2b96736a3078016c805b1aab7e681e06631d0c3a))
73-
- Add Test to Text Ui ([67902dde](../../commit/67902ddefd2527d6e2553b3069f0279f10b3f117))
74-
- Add tests to Layout UI ([5a55cc23](../../commit/5a55cc23edcd5253a7f553277da7ee737a8391b4))
75-
- Add Input ui tests ([784155b9](../../commit/784155b94cd20609888e6896044bf03a3c1eb6b4))
76-
- Add header tests ([2868f2ff](../../commit/2868f2fffb577779ab8975b3b2625f9b6c57a1bf))
77-
- Add Card Tests ([3fe39e74](../../commit/3fe39e748e988d5c168195c653de56fe631cc1d4))
30+
31+
- [`7a346ba`](https://github.com/warteamx/lab1-todoApp/commit/7a346ba) fix: resolve npm install warnings and server test failures (Issues: [`#26`](https://github.com/warteamx/lab1-todoApp/issues/26))
32+
33+
# [v1.0.0](https://github.com/warteamx/lab1-todoApp/compare/...v1.0.0) (2025-09-04)
34+
35+
## ⚠ BREAKING CHANGES
36+
37+
- This replaces the existing multi-workflow CI/CD system with a simpler,
38+
more reliable single-workflow approach that ensures quality gates are respected.
39+
40+
## 🚀 Features
41+
42+
- **ci**: refactor CI/CD with simplified unified pipeline ([e93d3b8](https://github.com/warteamx/lab1-todoApp/commit/e93d3b88cee9b2aa8da537e0144864971ecd12ac))

README.md

Lines changed: 43 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
[![Release](https://img.shields.io/github/v/release/warteamx/lab1-todoApp?style=flat-square&logo=github&labelColor=2f3136)](https://github.com/warteamx/lab1-todoApp/releases)
44
[![Build](https://img.shields.io/github/actions/workflow/status/warteamx/lab1-todoApp/release.yml?branch=main&style=flat-square&logo=github&labelColor=2f3136)](https://github.com/warteamx/lab1-todoApp/actions/workflows/release.yml)
5-
[![Codecov](https://img.shields.io/codecov/c/github/warteamx/lab1-todoApp?style=flat-square&logo=codecov&labelColor=2f3136)](https://codecov.io/gh/warteamx/lab1-todoApp)
65
[![License](https://img.shields.io/github/license/warteamx/lab1-todoApp?style=flat-square&logo=opensourceinitiative&logoColor=white&labelColor=2f3136)](./LICENSE)
76
[![Node.js](https://img.shields.io/badge/node.js-20-green?style=flat-square&logo=node.js&labelColor=2f3136)](https://nodejs.org)
87
[![Gitmoji](https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67?style=flat-square&labelColor=2f3136)](https://gitmoji.dev)
@@ -84,6 +83,20 @@ Each package follows [SemVer 2.0.0](https://semver.org/) specification with auto
8483

8584
## Quick Start
8685

86+
### Environment Setup
87+
88+
Before running the application, set up your environment variables:
89+
90+
```bash
91+
# Create environment files from templates
92+
./scripts/setup-environment.sh
93+
94+
# Configure your Supabase credentials and other settings
95+
# Edit client/.env.local and server/.env with your actual values
96+
```
97+
98+
📖 **See [Environment Setup Guide](./docs/ENVIRONMENT_SETUP.md) for detailed configuration instructions**
99+
87100
### Client (Mobile/Web App)
88101

89102
```bash
@@ -100,26 +113,10 @@ npm install
100113
npm run dev
101114
```
102115

103-
## Development Commands
104-
105-
### From Root Directory
106-
107-
```bash
108-
# Start both client and server
109-
npm run client:dev # Starts Expo development server
110-
npm run server:dev # Starts Express API server
111-
112-
# Testing
113-
npm run test:client # Run client tests
114-
npm run test:server # Run server tests
115-
116-
# Linting
117-
npm run lint:client # Lint client code
118-
npm run lint:server # Lint server code
119-
```
120-
121116
## Semantic Versioning
122117

118+
Check the full [semver docs](./docs/development/SEMANTIC_VERSIONING.md)
119+
123120
This project implements automated semantic versioning with the following rules:
124121

125122
### Version Bump Triggers
@@ -144,33 +141,43 @@ This project implements automated semantic versioning with the following rules:
144141

145142
## Docs
146143

147-
### Version Management
144+
### Environment & Setup
148145

149-
- 🏷️ [SemVer Implementation](./docs/SEMVER_IMPLEMENTATION.md) - Semantic versioning setup and automation
146+
- 🔧 [Environment Setup Guide](./docs/development/ENVIRONMENT_SETUP.md) - Environment variables configuration and management
150147

151-
### AI Documentation
148+
### Development
152149

153-
- 🤖 [Claude Prompt Engineering](./.claude.md) - AI assistant configuration
150+
- 📦 [Semantic Versioning](./docs/development/SEMANTIC_VERSIONING.md) - Automated version management and release process
151+
- 🔄 [Development Workflow](./docs/WORKFLOW.md) - Complete development workflow and best practices
154152

155153
### Client Documentation
156154

157-
- 📱 [Installation Guide](./client/docs/INSTALLATION.md) - Setup and development environment
158-
- 🏗️ [Architecture Guide](./client/docs/ARCHITECTURE.md) - Clean Architecture, folder structure, and design patterns
159-
- 🧪 [Testing Guide](./client/docs/TESTING.md) - Testing strategies, tools, and best practices
160-
- 📖 [Client README](./client/docs/README-client.md) - Getting started with the Expo app
155+
- 📱 [Installation Guide](./docs/client/INSTALLATION.md) - Setup and development environment
156+
- 🏗️ [Architecture Guide](./docs/client/ARCHITECTURE.md) - Clean Architecture, folder structure, and design patterns
157+
- 🧪 [Testing Guide](./docs/client/TESTING.md) - Testing strategies, tools, and best practices
158+
- 📖 [Client Overview](./docs/client/README-client.md) - Getting started with the Expo app
161159

162160
### Server Documentation
163161

164-
- 🚀 [Server Setup](./server/docs/SERVER_START.md) - Server installation and startup
165-
- 🏗️ [Architecture Guide](./server/docs/ARCHITECTURE.md) - Domain-Driven Design, clean architecture, and design patterns
166-
- 📁 [DDD Folder Structure](./server/docs/DDD_FOLDER_STRUCTURE.md) - Detailed folder organization and domain structure
167-
- 🧪 [Testing Guide](./server/docs/TESTING.md) - Testing strategies, tools, and best practices
168-
- 📖 [Server README](./server/docs/README.md) - Complete server documentation overview
169-
- 🔒 [Security Guide](./server/docs/SECURITY.md) - Security best practices
170-
- ⚠️ [Error Handling](./server/docs/ERROR_HANDLING.md) - Error handling patterns
162+
- 🚀 [Server Setup](./docs/server/SERVER_START.md) - Server installation and startup
163+
- 🏗️ [Architecture Guide](./docs/server/ARCHITECTURE.md) - Domain-Driven Design, clean architecture, and design patterns
164+
- 📁 [DDD Folder Structure](./docs/server/DDD_FOLDER_STRUCTURE.md) - Detailed folder organization and domain structure
165+
- 🧪 [Testing Guide](./docs/server/TESTING.md) - Testing strategies, tools, and best practices
166+
- 📖 [Server README](./docs/server/README.md) - Complete server documentation overview
167+
- 🔒 [Security Guide](./docs/server/SECURITY.md) - Security best practices
168+
- ⚠️ [Error Handling](./docs/server/ERROR_HANDLING.md) - Error handling patterns
169+
170+
### Deployment
171+
172+
- 🚀 [Deployment Guide](./docs/deployment/DEPLOYMENT.md) - Production deployment instructions and best practices
173+
174+
### AI Documentation
175+
176+
- 🤖 [AI Context Prompt](./docs/AI_CONTEXT.md) - AI assistant configuration and comprehensive project context
177+
- 📋 [AI-Generated Documentation](./docs/ai-generated/) - AI-generated summaries, fixes, and development notes
171178

172179
---
173180

174-
**Current Branch**: `24-improve-template-docs`
175-
**Last Updated**: September 4, 2025
181+
**Current Branch**: `main`
182+
**Last Updated**: September 8, 2025
176183
**License**: MIT

client/.env.example

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,16 @@
11
# Expo Environment Variables
22
# These will be available at build time and runtime
33

4-
# Version Information (injected during build)
5-
EXPO_PUBLIC_APP_VERSION=1.1.1
6-
EXPO_PUBLIC_BUILD_NUMBER=1
7-
EXPO_PUBLIC_BUILD_DATE=2025-09-04T11:10:50.656Z
8-
EXPO_PUBLIC_COMMIT_HASH=8c03a63
9-
EXPO_PUBLIC_BUILD_ENV=development
10-
114
# API Configuration
125
EXPO_PUBLIC_API_URL=http://localhost:3000
13-
EXPO_PUBLIC_API_TIMEOUT=10000
146

15-
# Supabase Configuration (if using)
16-
EXPO_PUBLIC_SUPABASE_URL=
17-
EXPO_PUBLIC_SUPABASE_ANON_KEY=
7+
# Supabase Configuration
8+
EXPO_PUBLIC_SUPABASE_URL=your_supabase_project_url
9+
EXPO_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
1810

19-
# Development
20-
EXPO_PUBLIC_DEV_MODE=true
11+
# Build Information (automatically injected during CI/CD - do not modify manually)
12+
EXPO_PUBLIC_APP_VERSION=1.0.0
13+
EXPO_PUBLIC_BUILD_NUMBER=1
14+
EXPO_PUBLIC_BUILD_DATE=2025-01-01T00:00:00.000Z
15+
EXPO_PUBLIC_COMMIT_HASH=unknown
16+
EXPO_PUBLIC_BUILD_ENV=development

client/CHANGELOG.md

Lines changed: 0 additions & 35 deletions
This file was deleted.

client/app/(user)/_layout.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ export default function TabLayout() {
4646
};
4747
}
4848

49-
if (segments.some(segment => String(segment) === 'vr')) {
49+
if (segments.some(segment => String(segment) === 'version')) {
5050
return {
51-
title: 'VR Experience',
52-
subtitle: 'Virtual reality demo',
51+
title: 'Version Info',
52+
subtitle: 'App version and demos',
5353
};
5454
}
5555

@@ -123,17 +123,17 @@ export default function TabLayout() {
123123
/>
124124

125125
<Tabs.Screen
126-
name="vr"
126+
name="version"
127127
options={{
128-
title: 'VR',
128+
title: 'Version',
129129
headerShown: true,
130130
header: () => (
131131
<NavigationHeader
132-
title="VR Experience"
133-
subtitle="Virtual reality demo"
132+
title="Version Info"
133+
subtitle="App version and demos"
134134
/>
135135
),
136-
tabBarIcon: ({ color }) => <TabBarIcon name="space-shuttle" color={color} />,
136+
tabBarIcon: ({ color }) => <TabBarIcon name="info-circle" color={color} />,
137137
}}
138138
/>
139139

client/app/(user)/ui-demo/ui-demo.tsx

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,19 +28,6 @@ export default function ThemeDemoScreen() {
2828
<ScrollView style={{ flex: 1 }}>
2929
<View padding="lg">
3030
<Stack spacing="xl">
31-
{/* Navigation */}
32-
<Section
33-
title="UI Components Demo"
34-
subtitle="Explore components and version information"
35-
>
36-
<Button
37-
title="📱 Version Component Demo"
38-
variant="outline"
39-
onPress={() => router.push('/(user)/ui-demo/version')}
40-
fullWidth
41-
/>
42-
</Section>
43-
4431
{/* Theme Switcher */}
4532
<Section
4633
title="Themes"

0 commit comments

Comments
 (0)