-
Notifications
You must be signed in to change notification settings - Fork 0
Developer Documentation
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.
- [Prerequisites]
- [Cloning the Repository]
- [Running Tests]
- [Running the Application]
- [Development Workflow]
- [Creating a Release]
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.
To clone the repository to your local machine:
git clone https://github.com/Ap13Crow/CS690-FinalProject-MiaLearningApp.git-
Navigate to the solution directory:
cd CS690-FinalProject-MiaLearningApp/MiaLearningApp/LearningApp -
Run the tests:
dotnet testA successful test run indicates that your development environment is correctly set up.
-
Navigate to the project directory:
cd CS690-FinalProject-MiaLearningApp/MiaLearningApp/LearningApp -
Run the application:
dotnet run
The application will start, and you can interact with it via the console interface.
To contribute to the project, follow these steps:
-
Create a New Branch
Create a feature or bugfix branch from the main branch:git checkout -b feature/your-feature-name
-
Implement Changes
Make your code changes in the new branch. -
Run Tests
Ensure all tests pass:dotnet test -
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
-
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.
To create a new release of the application:
-
Navigate to the Project Directory
cd CS690-FinalProject-MiaLearningApp/MiaLearningApp/LearningApp -
Publish the Application
Use thedotnet publishcommand to compile and publish the application:dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o ./publish-winThis command creates a self-contained, single-file executable for Windows in the
publish-windirectory.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). -
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.Zwith the appropriate version number.
-
-
Create a New Release on GitHub
- Navigate to the [Releases](https://github.com/Ap13Crow/CS690-FinalProject-MiaLearningApp/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 files for each platform.
- Publish the release.
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!