Developers start guide ================================================== We are glad you want to help us on NetEvent! Some things you should think of before you start implementing new features or fixing bugs: - Can another feature thats already implemented be expanded? yes? then go for that instead of Building complete new stuff! - Does the addition / change might affect other usecases than your own? Build your changes with legacy support in mind! - Try to follow the coding Style which is used within NetEvent, just look around in our code to see which case is handled mostly in which manner - Why i shouldn't join the NetEvent discord developer channel for discussion? To start a new code contribution please: - open an issue to announce that you are working on a feature/change to get thoughts from the other developers and to prevent incompatibillities - make your fork NetEvent (if you are not already a acknowledged developer who can create branches on our repository) - make a new branch with the Name ``feature/examplefeature`` - as soon as you have code, please open a draft pull request. Before you want to change your draft pull request to a finalized pull request to main you should ask yourself some questions: - Have i tried to update a running version from NetEvent with data to the one with my changes? Are the changes update proof? - Have i implemented all strings with localised variables? See :doc:`/develop/translation`! - Have i implemented the users help features inside the client? - Have i changed the admin documentation on the affected parts? - Have i changed the developer documentation on the affected parts? - Have i changed the ``README.md`` on the affected parts? - Have i written all ne needed tests for my code? - Does my pull request have a good speaking name that represents my changes in the changelog? - Do i have merged the current main branch into my feature branch? What will happen after you have converted to the finalized pull request: - Someone of the core developer team assigns a specific label to your pull request, then our sonarcloud code analysis will run on your code. Afterwards please fix the things sonarcloud complains about. - When your code passes the sonarcloud analysis, someone of the core developer team will review your code and will help you to find missing things or bugs. - As soon as the review is done, your code will be merged to main and will get available for all users in the next release. Currently we dont have a fixed release cycle. Development Prerequisites ---------------------------------------- - Download and install .Net6 SDK https://dotnet.microsoft.com/download/dotnet/6.0 - Install EntityFramework with ``make install-ef`` or ``dotnet tool install --global dotnet-ef`` - Install your IDE of choise (Visual Studio or VSCode works best) Run NetEvent locally ---------------------------------------- with make ^^^^^^^^^^^^^^^^^^^ .. code-block:: bash make or .. code-block:: bash make dev without make ^^^^^^^^^^^^^^^^^^^ .. code-block:: bash dotnet run --project NetEvent/Server Digging deeper ---------------------------------------- If you want to know more about our development thoughts, you might want to take a look into: - :doc:`/develop/database` - :doc:`/develop/folderstructure` - :doc:`/develop/models` - :doc:`/develop/services` - :doc:`/develop/authenticationsystem` - :doc:`/develop/permissions` - :doc:`/develop/cicd` - :doc:`/develop/release` code analysis ---------------------------------------- we do our code analysis on `sonarcloud`_ .. _sonarcloud: https://sonarcloud.io/project/overview?id=Lan2Play_NetEvent