Ce projet est un portfolio dynamique permettant d’héberger et afficher des projets web (HTML/CSS/JS) directement via des iframes.
Il dispose d’un système d’administration sécurisé permettant de gérer facilement les projets (ajout / suppression).
- Frontend : React.js
- Backend : Node.js + Express.js
- Base de données : SQL Express
- Auth : Session
- Rendering projets : iframe
- Affiche les 3 meilleurs projets
- Mise en avant visuelle (cards)
- Accès rapide aux projets
- Liste complète de tous les projets
- Affichage sous forme de grille
- Triéé par data de création
- Affichage du projet dans une iframe
- Informations :
- Nom
- Description
- Technologies
- Bouton retour
Accès restreint (admin uniquement)
-
➕ Ajouter un projet :
- Nom
- Description
- Fichiers (.ZIP)
- Thumbnail (optionnel)
-
🗑️ Supprimer un projet
-
📊 Voir la liste des projets existants
- Presentation
- Snake Git Contributions
- Easter eggs custom
- Système de login sécurisé
- Protection des routes admin (
/panel) - Gestion des sessions
/client → Frontend React
/src
/assets → Images / Videos
/components → Composents reutilisables
/pages → Pages du site
/utils → Fichiers utiles
/api → Backend Express
/middleware → Auth
/projects → Fichiers des projets
/utils → Fichiers utiles
Voir TREE.md
git clone https://github.com/FireDroX/dynamic-portfolio.git
cd dynamic-portfolio./build.sh
# Ce fichier est fait pour MON utilisation (a modifier)npm install
npm run startcd client
npm install
npm run startCréer un fichier .env côté backend :
PORT=3000
PANEL_PASSWORD=password
SESSION_SECRET=secret
SQL_USER=user
SQL_PASSWORD=password
SQL_SERVER=url| Champ | Type | Description |
|---|---|---|
| id | INTEGER | ID unique |
| name | TEXT | Nom du projet |
| description | TEXT | Description |
| fileName | TEXT | Nom du ZIP |
| image | TEXT | Image Base64 |
| createdAt | DATE | Date |
GET /api/projectsGET /api/projects/:projectPOST /api/panel/add(auth)POST /api/panel/modify(auth)DELETE /api/panel/delete(auth)
POST /api/panel/loginPOST /api/panel/login/logoutPOST /api/panel/login/me
Créer une plateforme simple pour :
- exposer ses projets
- tester des interfaces directement
- gérer facilement un portfolio évolutif
- Fork
- Feature branch
- Pull request
Projet développé avec ❤️