Description
Bit ’Art est un projet qui consiste à mettre en place une application mobile innovante qui vise à révolutionner le marché de l'art en permettant aux artistes et amateurs d'art d'acheter et de vendre des œuvres d'art en utilisant Bitcoin. Ce projet combine les avantages de la technologie blockchain et de la crypto-monnaie avec le monde de l’art, offrant une plateforme sécurisée, transparente et efficace pour les transactions artistiques.
Fonctionnalités principales
Authentification : Donner au utilisateurs la possibilité de créer un compte et se connecter après en fournissant leurs informations afin d'accéder aux fonctionnalités de l'application.
Lister les articles : Donner aux utilisateurs la possibilité de lister tous les articles.
Ajouter article : En tant qu’utilisateur, je veux ajouter des articles en créant un contenu numérique pouvant être tokenisé en NFT.
Passer la commande : Etant donné que je veux acheter un article donc je dois avoir la possibilité de passer une commande.
Vendre un NFT via son portefeuille de cryptomonnaie : En tant qu’utilisateur, je veux avoir la possibilité de vendre mes articles en utilisant le bitcoin.
Acheter un NFT via son portefeuille de cryptomonnaie : En tant qu’utilisateur, je veux avoir la possibilité d'acheter des articles en utilisant le bitcoin.
Logo
Technologies utilisés
Python - Django :
Le choix de Python par rapport à d’autre langage de programmation utilisé dans le backend comme Java, PHP, … est très pertinent. En effet, Python est un langage de programmation qui développe de nombreuse bibliothèque qui peuvent être utilisé pour la manipulation des données. Mais aussi, avec Python nous avons des bibliothèques pour nous permettre d'implémenter les fonctionnalités de notre plateforme. Pour le framework, python, un choix s'impose entre Flask et Django qui sont les plus utilisés. Dans notre cas, nous avons choisi Django. Ce choix se justifie par le fait que même si Flask est plus flexible, la robustesse de Django et sa sécurité sont plus à considérer pour notre application avec notre architecture. En effet Django est un framework plus complet pour construire des applications web en Python. Il offre des fonctionnalités telles que l'authentification, la gestion des bases de données, l'administration, etc. Il est plus adapté pour les projets de grande envergure et pour les projets qui nécessitent une gestion efficace des utilisateurs et des données. Ainsi le choix de Django reste justifier pour notre cas pour développer une application robuste.
Flutter : Pour la partie frontend Flutter est un framework open source permettant de créer des applications mobiles de haute qualité et hautes performances sur les systèmes d’exploitation mobiles Interface de flutter est widget
- Des briques (widget) qui décrivent le rendu final de votre
- Application Magie des widgets : réutilisables, fortement composables avec une garantie d’être à jour Flutter dispose d’une multitude de widget Flutter fournit des widgets de composants Matériel Design et Cupertino pour application centré sur Android ou Ios Android et Ios. Rechargement à chaud est la possibilité de modifier votre code et de voir les mises à jour dans votre application, en temps réel Le Hot Reload corrige le problème du temps nécessaire entre chaque build. Fonctionnement :
- injectant votre code source mis à jour dans la machine virtuelle (VM) de Dart en cours d'exécution
- MV met à jour les classes
- Reconstruction automatique par flutter l’arborescence des widgets
SQLlite : Pour la base de données
Envirronement de travail : Voici les outils à télécharger et insaller pour éxecuter notre travail.
Partie backend Python(https://www.python.org/downloads/). Une fois installée, nous allons créer un environnement virtuel :
Linux : python3 -m venv env
Windows : py -m venv env
Nous allons ensuite activer l’environnement :
Linux : source path_env/bin/activate
Windows : .\env\Scripts\activate.bat (powershell)
Et enfin nous allons installer les dependances contenues dans le fichier requierment.txt
pip install -r requierement.txt
Pour démarrer l’application il suffit de se mettre dans la racine du projet django et de mettre la commande suivante : Linux :
python3 manage.py makemigrations
python3 manage.py migrate
python3 manager.py runserver
Windows : py .\manage.py makemigrations py .\manage.py migrate py .\manager.py runserver
Partie frontend https://github.com/HimmaAtos/bitartfront
