Skip to content

rawanalriyad/Project-1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Project Challenge: Simple Employee Manager

Project Idea:

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.

Requirements:

  1. Variables and Constants:

    • Use variables and constants to store employee data and identifiers.
  2. Declaring Variables with var:

    • Use var to declare variables that might change, such as the list of employees.
  3. Declaring Constants with const:

    • Use const to declare constants, such as instruction messages.
  4. Type Inference and Type Annotation:

    • Practice using type inference and type annotations for better code clarity.
  5. Printing to the Console:

    • Use the print() function to display messages and employee data in the console.
  6. Data Types:

    • Utilize different data types like int, double, bool, and String to manage employee attributes.
  7. Comments in Dart:

    • Write single-line and multi-line comments to document your code.
  8. Operators:

    • Use arithmetic, comparison, and logical operators where appropriate, such as in salary calculations and permission checks.
  9. Collections:

    • Use Lists, Sets, and Maps to store and manage employee data.
  10. User Input in Dart:

    • Implement functions to accept user input for employee details.
  11. Control Flow:

    • Use control flow statements like if-else and switch to handle different scenarios in your application.
  12. Functions:

    • Define functions to add, update, and display employee data.
  13. Clean Code:

    • Ensure your code is clean, well-organized, and follows best practices for readability and maintainability.
  14. Project Structure:

    • Divide your project into functions and modules to keep it organized and modular.
  15. User-Friendly Output:

    • Ensure the console output is well-formatted and clear for the user to understand.

Example Features to Implement:

  1. Add a New Employee:

    • Collect details such as name, salary, permissions, and job description.
    • Store these details in a list or map.
  2. Assign Permissions:

    • Allow modification of employee permissions and validate input.
  3. Display Employee Data:

    • Print all details of an employee to the console.
  4. Modify Salary and Job Description:

    • Update the salary and job description of an employee.
  5. List All Employees:

    • Print a list of all employees and their key details.

Delivery Requirements:

  • 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.

Evaluation Criteria:

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.

Submission Details:

  • 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!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published