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 theTask
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.
-
Navigate to the project directory:
cd CS690-FinalProject
-
Run the following command:
dotnet test
A successful test run indicates that your environment is correctly configured.
Running the Application
To launch the application:
-
Navigate to the project directory:
cd CS690-FinalProject
-
Navigate to the solution:
cd TaskTracker
-
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
- Navigate to the Releases section of the repository
- Click on "Draft a new release"
- Tag the release with the version number (e.g.,
vX.Y.Z
) - Provide a title and description summarizing the changes
- Upload the zip file
- Publish the release