-
Notifications
You must be signed in to change notification settings - Fork 0
Home
LZPxka edited this page Jan 10, 2025
·
7 revisions
Welcome to the GL02_projet_OGMen wiki! This page serves as the central documentation hub for understanding, using, and maintaining the project. Below are the main sections that will guide both users and developers.
GL02_projet_OGMen is a Command Line Interface (CLI) application designed to manage a question and exam database. Users can import questions from GIFT files, manipulate them (add, delete, search, deduplicate), and generate exams. This application is a practical tool for educators to streamline the exam preparation process.
- Import questions from GIFT files.
- Manage questions: add, delete, search, deduplicate.
- Generate exams containing 15-20 questions.
- Export exams in GIFT format.
- View questions and exams.
- Manage contacts: create, modify, delete, search.
- Generate HTML charts to visualize question distributions.
- Node.js
- npm
- Clone the repository:
git clone https://github.com/aminssutt/GL02_projet_OGMen.git cd GL02_projet_OGMen/src - Install dependencies:
npm install
To launch the CLI application, run the following command:
cd src
node everywhereCli.js-
questions list- Display all questions. -
questions import- Import questions from the./datadirectory. -
questions delete --title <title>- Delete a question by its exact title. -
questions add --text <text> --type <type>- Add a new question. -
questions chart- Generate an HTML file with a chart of question types. -
exam generate- Generate an exam with 15-20 questions. -
exam export --id <id>- Export an exam in GIFT format. -
questions deduplicate- Remove duplicate question titles. -
contact create- Create a new contact. -
contact update- Update a contact. -
contact read- Read information about a contact. -
contact delete- Delete a contact. -
visualize exam- Visualize an exam as a bar chart. -
visualizeExamTheme- Visualize an exam profile by theme as a bar chart. -
search contact- Search for a contact by name. -
search question- Search for a question by ID. -
search exam- Search for an exam by ID or date. -
simulate exam- Simulate an exam with results.
-
src/: Contains the main application code.-
cli/: Handles CLI-related functionality.-
index.js: Entry point for CLI commands. -
chart.html,exam-chart.html,exam-theme-chart.html: HTML files for visualizing exam and question data.
-
-
utils/: Contains utility functions.-
fileManager.js: Manages file operations such as reading and writing. -
parser.js: Parses input data from GIFT files. -
question.js: Handles question-related logic and operations. -
vCardParser.js: Parses and manages vCard contact files.
-
-
examen/: Stores generated exam files in GIFT format.-
exam_1.gift,exam_1733153614187.gift: Example exam files.
-
-
data/: Stores input files, such as GIFT files, for importing questions.
-
-
everywhereCli.js: Main entry point of the CLI application. -
questions.js: Manages question-related functionality. -
exams.js: Handles exam generation and export. -
contacts.js: Manages contact creation and updates.
-
Coding Standards:
- Follow consistent naming conventions.
- Write clear and concise comments for each function.
-
Error Handling:
- Validate user inputs.
- Provide meaningful error messages.
-
Handling Answers for Essay and Matching Questions:
- Issue: Inconsistent processing of correct and incorrect answers.
- Improvement: Enhance the answer comparison logic.
-
CLI Command Execution:
- Issue: CLI does not immediately accept new commands after execution.
- Workaround: Use
Ctrl + Cto terminate the current session before entering a new command.
-
Duplicate Input Feedback:
- Issue: User input feedback sometimes duplicates.
- Workaround: Press
Backspaceto resolve temporarily.
- Implement a graphical user interface (GUI) for easier interaction.
- Expand export formats to include CSV and PDF.
- Introduce user authentication for better data security.
- Lakhdar Berache - [GitHub](https://github.com/aminssutt)
- Maxime Monterin - [GitHub](https://github.com/maximeMonterin)
- Mathieu Halliez - [GitHub](https://github.com/mathieuHalliez)
- Robinson Rocher - [GitHub](https://github.com/robinsonrcr)
Thank you for using GL02_projet_OGMen! If you encounter any issues, please report them in the Issues tab of the GitHub repository.