Welcome to the SRU-Software CLI project.
This tool is a school project which helps to manage and analyze course sessions, room availability, and scheduling data from a local database.
- Developed by : Florian Lopitaux / Lucas Bonnin / Nathan Ramecourt
- School Group : GlowUTT
- Operating Systems : Windows, Linux, Mac
- Programming Language : Javascript, NodeJS
To use this tool, you will need NodeJS installed on your computer.
Then you can clone this repository in the main branch.
Now open a terminal and move into the project directory, then press this following command to install project depencies :
npm installOnce finished, you can use the tool with using program entry point main.js :
node src/main.js <command>or moved into the src folder to directely access to the main.js :
cd src
node main.js <command>This CLI includes the following commands:
- salles - Display all sessions of a given course with associated rooms.
- capacite - Display the maximum number of seats in a given room.
- dispo_salle - Show all free slots of a specific room.
- dispo_creneau - Display all rooms unreserved for a given time slot.
- export - Export sessions for given courses to an iCalendar file.
- visu - Visualize room distribution statistics for a period.
- classement - Display statistics for rooms sorted by capacity.
Description
Displays all sessions of a specified course along with the rooms they are scheduled in.
Arguments
- - The name of the course, for example : LE02
Usage
node main.js salles <course>Description
Displays the maximum seating capacity of a specified room.
Arguments
- <room_name> - The name of the course, for example : LE02
Usage
node main.js capacite <room_name>Description
Shows all free time slots for a specified room.
Arguments
- <room_name> - The name of the room, for example : S103
Usage
node main.js dispo_salle <room_name>Description
Displays all rooms that are unreserved for a specific day or a time slot with option.
Arguments
<day>- The day of the slot in French, for example: Lundi
Options
-t, --time- Specify the start and end times inHH:MM-HH:MMformat, for example:10:30-12:00
Usage
node main.js dispo_creneau <day> [options]Description
Exports all sessions for specified courses into an iCalendar file.
Arguments
[course..]- Names of the courses to export, for example: LE02, NF16, ...
Options (Obligatory)
-stdy, --start-day <startDay>- The start day for the calendar export in French, for example: Mardi-endy, --end-day <endDay>- The end day for the calendar export in French, for example: Jeudi
Usage
node main.js export [course..] [options]Description
Displays a diagram showing room usage statistics over a specified period (export the diagram in a HTML file).
Arguments
<start_day>- The start date of the period in French, for example: Lundi<end_day>- The end date of the period in French, for example: Vendredi
Usage
node main.js visu <start_day> <end_day>Description
Displays the number of rooms sorted by their seating capacities.
Usage
node main.js classement