1.0.0 • Published 7 months ago
my-remixjs v1.0.0
🚀 RemixJS Framework
Un framework Node.js élégant combinant les meilleures fonctionnalités de Spring Boot et Symfony.
✨ Caractéristiques
- Décorateurs TypeScript pour une configuration déclarative
- Routage automatique basé sur les annotations
- ORM intégré avec Sequelize
- Gestion des réponses standardisée
- Architecture modulaire inspirée des frameworks d'entreprise
🚀 Démarrage rapide
Installation
npm install remix
Exemple basique
const { Controller, Get, createServer } = require('remixjs');
@Controller('/api/users')
class UserController {
@Get('/')
async getUsers(req, res) {
res.json({ message: 'Liste des utilisateurs' });
}
}
Définition d'un modèle
const { Table, Column } = require('./framework/orm/decorators');
const { DataTypes, Model } = require('sequelize');
@Table({ tableName: 'users' })
class User extends Model {
@Column(DataTypes.STRING)
name;
@Column(DataTypes.INTEGER)
age;
}
đź› Configuration
Configuration du serveur
// .env
PORT=3000
AUTO_LOAD_ROUTES=true
📚 Documentation
Décorateurs disponibles
ContrĂ´leurs
@Controller(prefix)
- Définit un préfixe pour toutes les routes du contrôleur@Get(path)
@Post(path)
@Put(path)
@Delete(path)
Modèles
@Table(options)
@Column(type, options)
Repositories
Le framework fournit deux types de repositories :
GenericRepository
- Pour les opérations CRUD basiquesGeneralRepository
- Pour les requêtes personnalisées et complexes
const repository = new GenericRepository(UserModel);
const users = await repository.findAll();
🔧 Structure du projet recommandée
project/
├── src/
│ ├── controllers/
│ ├── models/
│ └── config/
├── framework/
│ ├── orm/
│ ├── routes/
│ └── request/
└── server.js
🤝 Contribution
Les contributions sont les bienvenues ! N'hésitez pas à :
- Fork le projet
- Créer une branche (
git checkout -b feature/AmazingFeature
) - Commit vos changements (
git commit -m 'Add some AmazingFeature'
) - Push sur la branche (
git push origin feature/AmazingFeature
) - Ouvrir une Pull Request
📝 License
Ce projet est sous licence MIT. Voir le fichier LICENSE
pour plus de détails.
🙏 Remerciements :
Hoseia Rabemanantsoa
Inspiré par les meilleures pratiques de :
- Spring Boot
- Symfony
- Express.js
- Sequelize
1.0.0
7 months ago