Clean C# Web template project to be completed as a technical exam for hiring purposes.
Tools needed to work on:
- Operative System:
- Microsoft Windows 10 or newer
- Framework:
- IDE:
- Build & Package:
- Built-in .NET CLI tools (
dotnet build,dotnet run)
- Built-in .NET CLI tools (
- Import project to a personal git-based storage.
- Create a branch to make changes:
- Following the technical statement.
- Meeting requirements.
- Compile and test.
- Create a merge request (or pull request) for:
- Describing changes
- Reviewing changes
- Share your solution.
It is necessary to develop three minimal components for the ecosystem (solution):
- A relational database (with at least two related tables)
- An application programming interface (API)
- A graphical user interface (GUI)
Functionality requirements:
- API must permit:
- Create, read, update and delete data through ORM.
- GUI must permit:
- In form view:
- CRUD (Create, read, update & delete) data through API.
- In report view:
- Paginate data (in case of a lot of rows).
- Group data under some criteria.
- In form view:
- The entire solution must log what happens in the methods, to track all kinds of events (information, warnings, errors & debug).
This technical exercise focuses on evaluating solid technical foundations.
However, for mid-level and senior profiles, we assume additional professional criteria that may not be fully observable within the scope of this exercise, but are expected as part of the role and considered throughout the hiring process.
From a broader engineering perspective, performance is evaluated holistically, considering aspects such as:
- Autonomy and self-management when approaching problems
- Clear technical reasoning and sound decision-making
- Ownership and responsibility over implemented solutions
- Clarity of architecture, data design and system boundaries
- Communication of ideas, trade-offs and limitations within a technical context
- Organization, traceability and consistency of work
- Engineering discipline beyond “making it work”
- Responsible and intentional use of tools, frameworks and abstractions
- Continuous improvement and learning mindset
- Long-term thinking regarding system evolution, maintainability and sustainability
- Awareness of system impact beyond the immediate task
Not all of these aspects can be fully assessed within this technical exercise. They are observed progressively during the hiring process and through real, day-to-day collaboration.
Documentation must be completed inside the Docs/ directory.
Additional folders or documents may be added if needed, but the goal is to fully complete what is explicitly requested in each section.