Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
fbbe74a082 | |||
8029204d44 | |||
15ab592513 | |||
beac8b37dc | |||
0793720f70 | |||
|
b789fad149 | ||
|
671639862c |
27
.github/workflows/ci.yml
vendored
Normal file
27
.github/workflows/ci.yml
vendored
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
name: "ci"
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [develop]
|
||||||
|
pull_request:
|
||||||
|
branches: [main, develop, staging]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
ci:
|
||||||
|
runs-on: "ubuntu-latest"
|
||||||
|
steps:
|
||||||
|
- uses: "actions/checkout@v4.1.6"
|
||||||
|
|
||||||
|
- name: "Setup Node.js"
|
||||||
|
uses: "actions/setup-node@v4.0.2"
|
||||||
|
with:
|
||||||
|
node-version: "20.x"
|
||||||
|
cache: "npm"
|
||||||
|
|
||||||
|
- run: "npm clean-install"
|
||||||
|
- run: "npm run expo:typed-routes"
|
||||||
|
- run: 'npm run lint:commit -- --to "${{ github.sha }}"'
|
||||||
|
- run: "npm run lint:prettier"
|
||||||
|
- run: "npm run lint:eslint"
|
||||||
|
- run: "npm run lint:typescript"
|
||||||
|
- run: "npm run test"
|
@ -1,28 +0,0 @@
|
|||||||
default:
|
|
||||||
image: "node:20.13.1"
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- "test"
|
|
||||||
|
|
||||||
test:
|
|
||||||
stage: "test"
|
|
||||||
only:
|
|
||||||
- "merge_requests"
|
|
||||||
- "develop"
|
|
||||||
script:
|
|
||||||
- "npm clean-install"
|
|
||||||
- "npm run expo:typed-routes"
|
|
||||||
- 'echo "${CI_COMMIT_MESSAGE}" | npm run lint:commit'
|
|
||||||
- "npm run lint:prettier"
|
|
||||||
- "npm run lint:eslint"
|
|
||||||
- "npm run lint:typescript"
|
|
||||||
- "npm run test"
|
|
||||||
# artifacts:
|
|
||||||
# paths:
|
|
||||||
# - "coverage/"
|
|
||||||
# reports:
|
|
||||||
# coverage_report:
|
|
||||||
# coverage_format: "cobertura"
|
|
||||||
# path: "coverage/cobertura-coverage.xml"
|
|
||||||
# junit: "junit.xml"
|
|
||||||
# coverage: '/All files[^|]*\|[^|]*\s+([\d\.]+)/'
|
|
24
LICENSE
Normal file
24
LICENSE
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# MIT License
|
||||||
|
|
||||||
|
Copyright (c) Théo LUDWIG <contact@theoludwig.fr>
|
||||||
|
Copyright (c) Haoxuan LI <haoxuan.li@etu.unistra.fr>
|
||||||
|
Copyright (c) Maxime RUMPLER <mrumpler68@gmail.com>
|
||||||
|
Copyright (c) Maxime RICHARD <maxime.richard2@etu.unistra.fr>
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
@ -21,7 +21,6 @@ Un tracker d'habitudes pour performer au boulot et dans la vie de tous les jours
|
|||||||
|
|
||||||
- [Sujet](./docs/SUJET.md) + [Cahier des charges](./docs/CAHIER-DES-CHARGES.md)
|
- [Sujet](./docs/SUJET.md) + [Cahier des charges](./docs/CAHIER-DES-CHARGES.md)
|
||||||
- [Modèle Logique des Données (MLD)](./docs/MLD.md)
|
- [Modèle Logique des Données (MLD)](./docs/MLD.md)
|
||||||
- [Architecture](./docs/ARCHITECTURE.md)
|
|
||||||
- [Conventions développement informatique](./docs/CONVENTIONS.md)
|
- [Conventions développement informatique](./docs/CONVENTIONS.md)
|
||||||
- [Kanban Board (Trello)](https://trello.com/b/8kYlcLA8/habits-tracker)
|
- [Kanban Board (Trello)](https://trello.com/b/8kYlcLA8/habits-tracker)
|
||||||
|
|
||||||
@ -46,7 +45,7 @@ Un tracker d'habitudes pour performer au boulot et dans la vie de tous les jours
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
# Cloner le projet
|
# Cloner le projet
|
||||||
git clone git@git.unistra.fr:rrll/p61-project.git
|
git clone git@github.com:theoludwig/p61-project.git
|
||||||
|
|
||||||
# Se déplacer dans le répertoire du projet
|
# Se déplacer dans le répertoire du projet
|
||||||
cd p61-project
|
cd p61-project
|
||||||
|
6
app.json
6
app.json
@ -2,7 +2,7 @@
|
|||||||
"expo": {
|
"expo": {
|
||||||
"name": "Habits Tracker",
|
"name": "Habits Tracker",
|
||||||
"slug": "p61-project",
|
"slug": "p61-project",
|
||||||
"version": "1.1.0",
|
"version": "1.1.1",
|
||||||
"orientation": "portrait",
|
"orientation": "portrait",
|
||||||
"icon": "./presentation/assets/images/icon.png",
|
"icon": "./presentation/assets/images/icon.png",
|
||||||
"scheme": "p61-project",
|
"scheme": "p61-project",
|
||||||
@ -15,7 +15,7 @@
|
|||||||
"assetBundlePatterns": ["**/*"],
|
"assetBundlePatterns": ["**/*"],
|
||||||
"ios": {
|
"ios": {
|
||||||
"supportsTablet": true,
|
"supportsTablet": true,
|
||||||
"buildNumber": "1.1.0"
|
"buildNumber": "1.1.1"
|
||||||
},
|
},
|
||||||
"android": {
|
"android": {
|
||||||
"adaptiveIcon": {
|
"adaptiveIcon": {
|
||||||
@ -23,7 +23,7 @@
|
|||||||
"backgroundColor": "#ffffff"
|
"backgroundColor": "#ffffff"
|
||||||
},
|
},
|
||||||
"package": "com.theoludwig.p61project",
|
"package": "com.theoludwig.p61project",
|
||||||
"versionCode": 5
|
"versionCode": 6
|
||||||
},
|
},
|
||||||
"web": {
|
"web": {
|
||||||
"bundler": "metro",
|
"bundler": "metro",
|
||||||
|
@ -1 +0,0 @@
|
|||||||
# Clean Architecture
|
|
@ -19,7 +19,7 @@ npm run test
|
|||||||
npm run test -- --u
|
npm run test -- --u
|
||||||
```
|
```
|
||||||
|
|
||||||
Une pipeline CI ([`.gitlab-ci.yml`](../.gitlab-ci.yml)) est en place pour vérifier que le code respecte ces bonnes pratiques et que les tests passent.
|
Une pipeline CI est en place pour vérifier que le code respecte ces bonnes pratiques et que les tests passent.
|
||||||
|
|
||||||
## GitFlow
|
## GitFlow
|
||||||
|
|
||||||
|
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "p61-project",
|
"name": "p61-project",
|
||||||
"version": "1.1.0",
|
"version": "1.1.1",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "p61-project",
|
"name": "p61-project",
|
||||||
"version": "1.1.0",
|
"version": "1.1.1",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@expo/vector-icons": "14.0.2",
|
"@expo/vector-icons": "14.0.2",
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"name": "p61-project",
|
"name": "p61-project",
|
||||||
"private": true,
|
"private": true,
|
||||||
"main": "expo-router/entry",
|
"main": "expo-router/entry",
|
||||||
"version": "1.1.0",
|
"version": "1.1.1",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "expo start",
|
"start": "expo start",
|
||||||
"android": "expo start --android",
|
"android": "expo start --android",
|
||||||
|
@ -20,9 +20,15 @@ export const About: React.FC<AboutProps> = (props) => {
|
|||||||
style={{
|
style={{
|
||||||
flex: 1,
|
flex: 1,
|
||||||
paddingHorizontal: 20,
|
paddingHorizontal: 20,
|
||||||
|
justifyContent: "center",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<View
|
||||||
|
style={{
|
||||||
|
alignItems: "center",
|
||||||
|
marginVertical: 20,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<View style={{ alignItems: "center", marginVertical: 20 }}>
|
|
||||||
<Text
|
<Text
|
||||||
style={{
|
style={{
|
||||||
fontWeight: "bold",
|
fontWeight: "bold",
|
||||||
|
@ -2,6 +2,7 @@ import { Card, Divider, Text } from "react-native-paper"
|
|||||||
import CircularProgress from "react-native-circular-progress-indicator"
|
import CircularProgress from "react-native-circular-progress-indicator"
|
||||||
import { Agenda } from "react-native-calendars"
|
import { Agenda } from "react-native-calendars"
|
||||||
import { useState } from "react"
|
import { useState } from "react"
|
||||||
|
import { ScrollView } from "react-native"
|
||||||
|
|
||||||
import { getNowDateUTC, getISODate } from "@/utils/dates"
|
import { getNowDateUTC, getISODate } from "@/utils/dates"
|
||||||
import type { HabitsTracker } from "@/domain/entities/HabitsTracker"
|
import type { HabitsTracker } from "@/domain/entities/HabitsTracker"
|
||||||
@ -39,7 +40,7 @@ export const HabitsStatistics: React.FC<HabitsStatisticsProps> = (props) => {
|
|||||||
selected={selectedDateISO}
|
selected={selectedDateISO}
|
||||||
renderList={() => {
|
renderList={() => {
|
||||||
return (
|
return (
|
||||||
<>
|
<ScrollView>
|
||||||
<Divider />
|
<Divider />
|
||||||
|
|
||||||
<Text
|
<Text
|
||||||
@ -107,7 +108,7 @@ export const HabitsStatistics: React.FC<HabitsStatisticsProps> = (props) => {
|
|||||||
)
|
)
|
||||||
},
|
},
|
||||||
)}
|
)}
|
||||||
</>
|
</ScrollView>
|
||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
Reference in New Issue
Block a user