# Berufsschule_HAM
This Project serves the purpose of managing Hardware-Assets

# How to setup and build the project
1. If you want to use a local LDAP instance: [Install LDAP](#How-To-Install-and-configure-LDAP) - otherwise use the default ld50.dev configuration
2. Setup the environment using VSCode by installing the extensions: ".NET Install Tool", "C#" (from Microsoft), "C# Dev Kit" (from Microsoft) in the Extensions tab
3. Navigate to the "Source Control" tab (left side; looks like a node graph)
4. Click "Clone Repository"
5. Enter this repository's URL
6. Follow the instructions to authenticate using GitHub
7. Run the project using `F5` or `dotnet build && dotnet run` in the console

# How to Install and configure LDAP
1. [Install LDAP on Ubuntu and do basic configuration](https://documentation.ubuntu.com/server/how-to/openldap/install-openldap/)
2. Create the three "ou" elements: "assets", "locations" with objectClass "organizationalUnit", and "ou" element "users" with objectClasses "organizationalUnit", and "top".


# How to connect to ldap server using apache directory studio
1. Click "add new connection"
2. Choose any connection name, hostname: "ld50.dev", port: 8389
3. Authentication method: "Simple Authentication", Bind DN: "cn=admin,dc=localhost", bind password: "TestLDAP"
4. Continue and finish setup

# How to contribute
1. Create a new branch
    1. In "Source Control" tab click on "main" (i.e. the current branch)
    2. Select "+ Create a new branch..."
    3. Give it a name (e.g. your name or "YourName-#KanbanTaskID")
2. Implement your changes
3. Prepare your changes to commit
    1. In "Source Control" under "Changes" you'll find the changed files. For each file:
    2. Click on each file, examine all the shown changes and check whether it's what you want committed. Remove temporary elements you added for debugging (e.g. "Console.Log")
    3. After cleaning up the file, click on the "+" on the right (Mouseover text: "Stage Changes")
    4. After staging all file changes in step 3, do a final test of the changes before you commit
4. Press the big blue "Commit" button
5. Do `git push` (in the "GRAPH" section there are a few buttons, one of which has an upward facing arrow and the mouseover text "Push"; use this one.)
6. After committing and pushing your changes, merge the branch. Ask @LD-Reborn to merge, or if you don't fear merge conflicts:
    1. Switch to the main branch `git checkout main` (or select main branch at the top)
    2. Merge branch `git merge Your-branch-name`
    3. If it was successful you will see a commit you can push. Push it.
    4. If there was no error: congrats. If there was, contact @LD-Reborn
