Codecanvas est une plate-forme en ligne pour pratiquer la programmation dans un environnement collaboratif. Certains tuteurs peuvent créer des missions pour vous pour et terminer. En tant qu'étudiant enregistré, vous pouvez effectuer ces tâches et obtenir votre résultat noté. L'application a intégré l'exécution du code qui permet aux tuteurs et aux étudiants de valider facilement le code remis pour les affectations. De plus, les affectations basées sur les questions sont également prises en charge. Cela permet aux tuteurs non seulement de créer des missions de codage, mais également des travaux où les élèves doivent répondre aux questions prédéfinies.
Nous ne vous recommandons pas d'accueillir la demande vous-même, si vous pouvez le faire. Si vous souhaitez commencer à utiliser cette application pour votre petit groupe, tombez libre pour créer un compte sur notre service.
sample-compose.yml et remplissez les valeurs manquantes.| Nom | Beschreibung |
|---|---|
| Utilisateur postgres | Créez un utilisateur Postgres pour le service d'utilisateur et affectez une base de données à l'utilisateur. |
| Exécuteur Postgres | Créez un utilisateur Postgres pour l'exécuteur testamentaire et attribuez une base de données à l'utilisateur. |
| Exécuteur testamentaire | Créez simplement un utilisateur MongoDB pour l'exécuteur testamentaire avec une base de données. Accorder uniquement les autorisations de lecture à l'utilisateur de l'exécuteur testamentaire. |
| Postres de tâche | Créez un utilisateur Postgres pour le service Tasky et attribuez une base de données à l'utilisateur. |
| MongoDB TRADY | Créez un utilisateur MongoDB pour Tasky et accordez à l'utilisateur de lire / écrire un accès à la base de données partagée avec le service exécuteur. |
API_URI et EXECUTOR_UI_URL .Ce projet est complètement axé sur la communauté. Par conséquent, tout le monde peut contribuer à ce projet et aider à améliorer le projet. Si vous voulez donner une compensation monétaire pour le travail que nous faisons, n'hésitez pas à le faire. Il n'y a actuellement aucune option pour le faire. Peut-être aussi vérifier contribution.md
Ce projet est maintenant dans sa phase finale, toutes les fonctionnalités requises entièrement implémentées. À ce stade, il n'y a pas de feuille de route en béton pour un développement ultérieur, et le processus de développement actif de cette application a été conclu.
Nous continuerons à répondre aux demandes des fonctionnalités et aux rapports de bogues au cas par cas, en implémentant de nouvelles fonctionnalités ou correctes uniquement si elles s'alignent avec notre vision et semblent valides. Cependant, nous n'introduirons pas de fonctionnalités supplémentaires indépendamment.
Notre objectif principal est de maintenir la simplicité et la facilité d'utilisation de l'application. L'ajout de fonctionnalités pourrait compromettre cette simplicité.
Nous vous encourageons à partager toutes les demandes de fonctionnalités ou les rapports de bogues, mais veuillez comprendre que les nouvelles fonctionnalités ne seront ajoutées que si elles sont motivées par des besoins externes clairs.
Veuillez noter que l'application a évolué au fil du temps et qu'aucun schéma de base de données n'a été initialement prévu. De plus, au moment du développement, j'étais relativement nouveau à utiliser diesel.rs comme bibliothèque pour les interactions de base de données. Cela a entraîné une récupération des données sous-optimales. Bien que certains problèmes dans le schéma aient déjà été résolus et améliorés, le processus de récupération des données actuel reste inefficace.
Bien que le stockage de grandes quantités de données ne soit plus un problème, la récupération des données peut encore prendre plus de temps que souhaité. Cependant, grâce à la pagination, les temps de réponse sont statiques et restent cohérents, quelle que soit la taille de l'ensemble de données. L'inconvénient est que l'application exécute plus de requêtes SQL que nécessaire. Cette inefficacité est un problème connu, mais ce n'est pas une priorité pour le moment, car il ne pose pas encore un problème important.
Nous prévoyons de revoir cet aspect lorsque la plate-forme gagne plus d'utilisateurs et que la réduction de la charge du serveur devient crucial pour minimiser les coûts opérationnels. À l'avenir, cette inefficacité pourrait potentiellement être atténuée par la mise en œuvre de stratégies de mise en cache efficaces.
Ce code peut ne pas répondre aux attentes des personnes plus expérimentées avec la rouille. Lorsque j'ai commencé à travailler sur ce projet, ma compréhension de la rouille se développait toujours. Au cours du projet, j'ai beaucoup appris, mais en conséquence, le code peut ne pas adhérer pleinement aux meilleures pratiques. Je vous demande avec gentillesse de votre compréhension lors de l'examen. Même maintenant, alors que je revisit ce projet, je peux voir plusieurs domaines où j'approcherais les choses différemment.
Il peut y avoir des améliorations à l'avenir, mais même après elles, il y aura de énormes morceaux de mauvais code du point de vue d'un développeur de rouille expérimenté.