Skip to content

Colladraw is a collaborative online whiteboard where you can draw with your friends on the same canvas. (school project)

Notifications You must be signed in to change notification settings

bdauphouy/colladraw

Repository files navigation

Colladraw

Installation

  1. NPM, PHP, composer et mysql sont requis
  2. Installer les modules NPM:
    npm i
  3. Installer les modules composer:
    composer i
  4. Créer un fichier .env:
    cp .env.example .env
    nano .env
  5. Migrer la base de données:
    php artisan migrate:fresh
    Pensez à créer la base de données comme spécifiée dans votre fichier .env.
  6. Générer les clés:
    php artisan key:generate
  7. Pour démarrer l'environnement de développement:
    npm run dev

Explications

1. Pourquoi

Dans le cadre d'un projet dans notre école, nous avons eu pour exercice de refaire l'application "Paint" en une semaine et en groupe de 4.

2. Contraintes imposées

  • Dessiner un rectangle, un triangle (pointe vers le haut) et un cercle
  • Dessiner une zone de texte
  • Possibilité d'utiliser une couleur "primaire" pour le contour des formes ou pour la couleur du texte
  • Possibilité d'utiliser une couleur "secondaire" pour le remplissage des formes ou le surlignement du texte
  • Un menu déroulant permettant de sélectionner une police d'écriture parmis trois
  • Déplacer la forme
  • Modifier les dimensions de la forme
  • Changer les couleurs de la forme
  • Sauvegarder le dessin pour le reprendre plus tard
  • Exporter le dessin au format image et au format PDF

3. Objectifs supplémentaires du groupe

  • Possibilité de créer un compte et de se connecter
  • Un espace "Profil" pour stocker les dessins et les reprendre ultérieurement
  • Inviter des personnes via un lien et ainsi dessiner à plusieurs
  • Si plusieurs personnes dessinent sur le même projet, stocker le dessin sur tous les profils
  • Mettre le site sur un serveur
  • Possibilité de créer un trait
  • Possibilité d'effacer avec une gomme
  • Possibilité de dessiner avec un crayon
  • Retour arrière et retour avant
  • WebSocket pour tout stocker en temps réel

4. Répartition des tâches

Technologies utilisées

1. Front

HTML5 SASS JavaScript TypeScript

2. Back

MySQL PHP Laravel

3. Design

Figma

Canvas

Pour ce projet il nous était interdit d'utiliser des librairies. Afin de simplifier notre code et de le rendre plus clair nous avons développé notre propre bibliothèque en TypeScript disponible sur ce repo GitHub et sur NPM.

Nos inspirations

  • Excalidraw
  • GarticPhone
  • Paint

About

Colladraw is a collaborative online whiteboard where you can draw with your friends on the same canvas. (school project)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •