Create a simple application to manage employees where users can add new employees, assign permissions, display their data, and modify their salaries, permissions, and job descriptions.
-
Variables and Constants:
- Use variables and constants to store employee data and identifiers.
-
Declaring Variables with var:
- Use var to declare variables that might change, such as the list of employees.
-
Declaring Constants with const:
- Use const to declare constants, such as instruction messages.
-
Type Inference and Type Annotation:
- Practice using type inference and type annotations for better code clarity.
-
Printing to the Console:
- Use the print() function to display messages and employee data in the console.
-
Data Types:
- Utilize different data types like int, double, bool, and String to manage employee attributes.
-
Comments in Dart:
- Write single-line and multi-line comments to document your code.
-
Operators:
- Use arithmetic, comparison, and logical operators where appropriate, such as in salary calculations and permission checks.
-
Collections:
- Use Lists, Sets, and Maps to store and manage employee data.
-
User Input in Dart:
- Implement functions to accept user input for employee details.
-
Control Flow:
- Use control flow statements like if-else and switch to handle different scenarios in your application.
-
Functions:
- Define functions to add, update, and display employee data.
-
Clean Code:
- Ensure your code is clean, well-organized, and follows best practices for readability and maintainability.
-
Project Structure:
- Divide your project into functions and modules to keep it organized and modular.
-
User-Friendly Output:
- Ensure the console output is well-formatted and clear for the user to understand.
-
Add a New Employee:
- Collect details such as name, salary, permissions, and job description.
- Store these details in a list or map.
-
Assign Permissions:
- Allow modification of employee permissions and validate input.
-
Display Employee Data:
- Print all details of an employee to the console.
-
Modify Salary and Job Description:
- Update the salary and job description of an employee.
-
List All Employees:
- Print a list of all employees and their key details.
- Print a list of all employees and their key details.
-
Language: The project should be written in Dart language.
-
GitHub Submission:
- Create a Fork from the exam’s GitHub repository.
- Create a new branch with your name, i.e., Nawaf-Ahmad.
- Commit frequently with descriptive messages to show your progress.
- Finally, create a Pull Request to the original repository containing your solution.
-
README.md File: Include a README.md file with instructions on how to run and test the project. This file should provide a clear guide for users to understand how to interact with the CLI, and include relevant screenshots or output of the app to showcase its appearance and functionalities. Visuals can help users understand the app's design and layout.
The project will be evaluated based on the following criteria:
-
Completion: The extent to which the project meets all the minimum requirements, including the extra credit ideas if implemented.
-
Quality: The overall quality of the project, including the coding style, organization, and ease of maintenance. Well-structured and readable code will be favorably evaluated.
-
Use of Programming Concepts: How well you utilize programming concepts such as classes, abstracts, functions, and other relevant techniques.
- Deadline: 4th August 2024
- Submission Format: Provide your Dart code file(s) along with a README file explaining your implementation.
Good luck, and happy coding!