This repository was archived by the owner on Sep 21, 2025. It is now read-only.
Repository navigation
Developer Documentation
George Hyde edited this page Apr 7, 2025
·
1 revision
This document describes how to replicate the development environment for this project.
## SDKs & Tools
* Install **.NET SDK Version 8** from the official page [.NET SDK](https://dotnet.microsoft.com/download/dotnet/8.0) or through packages in your Linux distribution.
* Install **Git** from the official page [Git](https://git-scm.com/) or through packages in your Linux distribution.
## Clone the Repository
Run the following command in your local terminal to clone the repository:
```bash
git clone [https://github.com/georgehyde-dot/CS690-FinalProject](https://github.com/georgehyde-dot/CS690-FinalProject)
```
## Testing the Setup
1. Navigate into the solution folder:
```bash
cd CS690-FinalProject/MealPlannerProject
```
2. Run the test command:
```bash
dotnet test
```
3. If you can see the tests passing, you have successfully set up the development environment.
## Running the Application
1. Navigate to the solution directory:
```bash
cd CS690-FinalProject/MealPlannerProject
```
2. Navigate into the specific web project directory:
```bash
cd MealPlannerProject
```
3. Run the application:
```bash
dotnet run
```
## Development Workflow (Contributing)
The `main` branch is protected, so direct commits are not allowed. Please follow these steps to contribute:
1. Create a new branch for your changes (e.g., `git checkout -b feature/your-feature-name`).
2. Make your code changes.
3. Test your changes locally (`dotnet test`) and ensure all tests pass.
4. Commit and push your branch to the remote repository (e.g., `git add .`, `git commit -m "Your commit message"`, `git push origin feature/your-feature-name`).
5. Create a Pull Request (PR) on GitHub comparing your branch to the `main` branch.
## Making a Release
1. Ensure your local `main` branch is up-to-date and all tests pass.
2. Navigate to the solution directory (e.g., `CS690-FinalProject/MealPlannerProject`).
3. Publish the application for release (this creates a self-contained deployment package). Specify an output directory:
```bash
dotnet publish -c Release --output ./publish_output
```
4. Copy any necessary runtime files (like `stops.txt`, configuration files, etc.) to the publish folder (`./publish_output`). Example:
```bash
cp stops.txt ./publish_output/
```
5. Navigate *into* the publish folder:
```bash
cd publish_output
```
6. Create a zip archive of the published contents. It's often good practice to create the zip file *outside* the publish directory:
```bash
zip -r ../MealPlannerProject.zip *
```
7. Navigate back out (optional):
```bash
cd ..
```
8. Go to your project's GitHub repository page.
9. Click on "Releases" (usually on the right sidebar).
10. Click "Draft a new release".
11. Choose a tag (usually corresponding to the version, e.g., `v1.0.1`), name the release, and write release notes describing the changes.
12. Upload the `MealPlannerProject.zip` file created in step 6 as a binary asset.
13. Publish the release.