Developer Document - Hadleymicah/CS690-FinalProject GitHub Wiki

Developer Documentation for CS690-FinalProject (Productivity System)

This document provides detailed instructions for developers looking to set up the development environment, contribute to the project, and create releases for the Task Tracker. It is targeted at developers who plan to fork, replicate, or add features to the project. If you are looking for general user documentation, please refer to User Documentation.

Prerequisites

Before you begin, ensure the following tools are installed on your system:

.NET SDK 8.0

  • Download from the official .NET SDK page or install via your Linux distribution's package manager.

Git

  • Download from the official Git page or install via your Linux distribution's package manager.

Cloning the Repository

To create a local clone of the repository, run the following command:

git clone https://github.com/Hadleymicah/CS690-FinalProject.git

Navigate into the project directory:

cd CS690-FinalProject

Project Structure

The repository contains the following files:

  • Program.cs: The main entry point of the application. It initializes and runs the core components.
  • DailySummary.cs: Contains logic for generating daily summaries of tasks and productivity.
  • TaskManager.cs: Manages tasks, including adding, removing, and updating tasks.
  • Tasks.cs: Defines the Task class, including properties such as title, description, and priority.
  • ConsoleUI.cs: Handles the user interface for interacting with the application via the console.
  • GlobalUsings.cs: Manages global imports for the project, reducing redundancy in file imports.
  • tasks.txt: A plain text file that stores task data. This file is used for persistence.
  • UnitTest1.cs: Contains unit tests to validate the functionality of core components.

Running Tests

To verify that your development environment is set up correctly, run the tests.

  1. Navigate to the project directory:

    cd CS690-FinalProject
    
  2. Run the following command:

    dotnet test
    

A successful test run indicates that your environment is correctly configured.

Running the Application

To launch the application:

  1. Navigate to the project directory:

    cd CS690-FinalProject
    
  2. Navigate to the solution:

    cd TaskTracker
    
  3. Run the application:

    dotnet run
    

The application will start, and you can interact with it via the console interface.

Development Workflow

To contribute to the project, follow these steps:

  • Create a branch
  • Make any changes that add/edit/remove code
  • Test your changes locally by following the "Testing" and "Running" steps to ensure they all pass
  • Commit/push your branch
  • Create a pull request

Note: The main branch is protected; direct commits are not allowed.

Creating a Release

To create a new release of the application:

1. Publish the Application

Use the dotnet publish command to compile and publish the application:

dotnet publish

2. Prepare the Release Package

Copy any necessary files (e.g., tasks.txt, configuration files) into the respective publish directories.

Create the zip file with executables

zip -r TaskTrackerProject.zip *

3. Create a New Release on GitHub

  1. Navigate to the Releases section of the repository
  2. Click on "Draft a new release"
  3. Tag the release with the version number (e.g., vX.Y.Z)
  4. Provide a title and description summarizing the changes
  5. Upload the zip file
  6. Publish the release