blessedwingtech/journalintime
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
# 📖 Journal Intime Numérique – Application Mobile ## 📝 Description Application **React Native (Expo)** permettant de tenir un journal intime numérique sécurisé. Fonctionnalités principales : authentification, stockage chiffré, recherche et filtres. --- ## ⚙️ Installation ### Prérequis - Node.js ≥ 16 - npm - Expo CLI - Téléphone avec Expo Go ### Étapes ```bash git clone https://github.com/blessedwingtech/journalintime.git cd journalintime npm install npx expo start / npm start ``` Scanner le QR code avec **Expo Go** pour tester. --- ## 🏗️ Architecture ``` src/ ├── components/ # UI réutilisable (auth, journal, commun) ├── screens/ # Écrans (auth, main) ├── navigation/ # Navigateurs (App, Auth, Main) ├── services/ # Auth & stockage ├── contexts/ # AuthContext, ThemeContext ├── utils/ # Helpers, constantes, validations ├── hooks/ # Custom hooks └── config/ # config ``` --- ## 🔒 Sécurité - Authentification : SHA256 + validation email/mot de passe - Stockage : AsyncStorage avec **Base64** (protection basique) - Isolation : données séparées par utilisateur - Validation : formulaires contrôlés (mot de passe ≥ 8 caractères, email valide) --- ## 📋 Fonctionnalités - Inscription / Connexion sécurisée - Création, lecture, suppression d’entrées - Stockage local chiffré - Recherche et filtres (humeur, étiquettes) - Statistiques personnelles - UI/UX intuitive (navigation, icônes, thèmes) --- ## 🛠️ Choix Techniques - **Frontend** : React Native + Expo, React Navigation v6, Context API - **Stockage** : AsyncStorage + Base64 - **Validation** : Yup + React Hook Form - **UI** : Vector Icons, SafeAreaView, composants custom ## 📂 Données **Utilisateur** ```json { "id": "string", "email": "string", "password": "hash", "createdAt": "timestamp" } ``` **Entrée** json { "id": "string", "userId": "string", "title": "chiffré", "content": "chiffré", "mood": "string", "tags": ["string"], "date": "timestamp" }