Skip to content

Developer Documentation

Ap13Crow edited this page Apr 21, 2025 · 2 revisions

This document provides detailed instructions on setting up the development environment, running tests, contributing to the project, and creating releases for the Mia Learning App.


Table of Contents

  1. [Prerequisites]
  2. [Cloning the Repository]
  3. [Running Tests]
  4. [Running the Application]
  5. [Development Workflow]
  6. [Creating a Release]

Prerequisites

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 clone the repository to your local machine:

git clone https://github.com/Ap13Crow/CS690-FinalProject-MiaLearningApp.git

Running Tests

  1. Navigate to the solution directory:

    cd CS690-FinalProject-MiaLearningApp/MiaLearningApp/LearningApp
  2. Run the tests:

    dotnet test

    A successful test run indicates that your development environment is correctly set up.


Running the Application

  1. Navigate to the project directory:

    cd CS690-FinalProject-MiaLearningApp/MiaLearningApp/LearningApp
  2. 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:

  1. Create a New Branch
    Create a feature or bugfix branch from the main branch:

    git checkout -b feature/your-feature-name
  2. Implement Changes
    Make your code changes in the new branch.

  3. Run Tests
    Ensure all tests pass:

    dotnet test
  4. Commit and Push
    Commit your changes with a descriptive message and push the branch:

    git add .
    git commit -m "Add feature: your feature description"
    git push origin feature/your-feature-name
  5. Create a Pull Request
    Open a pull request from your branch to the main branch in the GitHub repository. Include a clear description of the changes and reference any related issues.

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


Creating a Release

To create a new release of the application:

  1. Navigate to the Project Directory

    cd CS690-FinalProject-MiaLearningApp/MiaLearningApp/LearningApp
  2. Publish the Application
    Use the dotnet publish command to compile and publish the application:

    dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o ./publish-win

    This command creates a self-contained, single-file executable for Windows in the publish-win directory.

    Repeat the publish command with appropriate runtime identifiers (-r) for other platforms (e.g., linux-x64, osx-x64) and output directories (e.g., ./publish-linux, ./publish-mac).

  3. Prepare the Release Package

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

    • Create a zip archive for each platform-specific publish directory:

      zip -r MiaLearningApp-vX.Y.Z-win.zip ./publish-win
      zip -r MiaLearningApp-vX.Y.Z-linux.zip ./publish-linux
      zip -r MiaLearningApp-vX.Y.Z-mac.zip ./publish-mac

      Replace vX.Y.Z with the appropriate version number.

  4. Create a New Release on GitHub


Note: Ensure that the version number is updated consistently across the application, documentation, and release notes.


This updated developer documentation should provide clear and concise guidance for setting up the development environment, contributing to the project, and creating releases. If you need further assistance or have specific questions, feel free to ask!

Clone this wiki locally