JustBigO-Fun is an ASP.NET Core 9.0 MVC platform for algorithmic challenges, inspired by sites like LeetCode.
🎥 Demo (screencast): https://youtu.be/4bKce7Ch55Y
📄 The application's technical documentation (features, tech stack, run instructions) is in the Project Documentation section at the end of this README.
This section maps each evaluation-rubric item to the corresponding artifacts and evidence in the repository. Every item below involved the use of AI tools (Gemini web, Cursor, Gemini CLI, Claude Code) — details in the dedicated report.
The user stories and backlog were created and managed in Jira, formulated and refined with AI (Gemini web) in the standard format ("As a user, I want… so that…"), together with their acceptance criteria.
Jira board (screenshots):
The architecture, component, and workflow diagrams (e.g., the Reflexion loop, the sandbox execution flow) were generated and clarified with AI assistance.
- 📐 Diagrams:
docs/DIAGRAMS.md
Development was done on feature branches (feature/generic-executor-metrics, fix/admin-area-overhaul, Transpilare, Indicii_US12_US13, etc.), with merges, conflict resolution, and pull requests (#4–#19). AI was used to draft commit/PR messages and to resolve merge conflicts.
- 🔗 Pull requests: PRs link
- 🔗 Commit history: commits link
The test suite in JustBigO(Fun).Tests/ covers Controllers, Models, Hubs, and Services. It includes agent evals (AI/CodeTranslatorAgentTests.cs, GeminiHintGeneratorTests.cs, GeminiRefactoringSuggestionGeneratorTests.cs) that verify the structural integrity of AI-generated responses.
- 🧪 Tests:
JustBigO(Fun).Tests/
Real bugs identified and fixed via PR with AI assistance (diagnosis + fix), e.g.: "No redirect to login page" and "Grey text on dark background" (PR #17), fixing tests after resource-limit changes, and stopping the AI query after a timeout.
- 🐛 Bug + fix (PR): bug/PR link
The pipeline is configured in GitHub Actions and was generated with AI based on the project structure:
-
CI (
buildjob, runs on every push/PR): restore → build → run tests on .NET 9. -
CD (
publishjob, runs only on push tomain, after CI passes):dotnet publishin Release mode and uploads the deployable build as a downloadable artifact. -
⚙️ Workflow:
.github/workflows/dotnet-ci.yml
A detailed report on the AI tools used by each team member and across each development phase.
- 📄 Report:
docs/AI_USAGE_REPORT.md
It provides a full-stack environment for users to browse coding problems, submit solutions, and have them validated against test cases.
- Problem Library: Browse a collection of algorithmic challenges with difficulty levels, tags, and detailed descriptions.
- Solution Submission: Submit C#, Python, Java, and C++ code for evaluation.
- AI Transpiler & Mentor: Features an integrated local AI Agent (Llama 3.2) that can seamlessly translate code between languages and provide hints. The AI uses an autonomous "Reflexion" loop to pre-compile and fix its own code before displaying it.
- Automated Testing: Integrated Docker-based code execution sandbox that runs user submissions and AI drafts against predefined test cases in isolated environments.
- Admin Dashboard: Secure area for managing problems, including CRUD operations and batch uploading test cases (
.in/.outfiles). - Identity & RBAC: Complete authentication system with role-based access control for users and administrators.
- Backend: .NET 9.0, ASP.NET Core MVC, C#, SignalR
- Database: SQL Server with Entity Framework Core
- Authentication: ASP.NET Core Identity
- Containerization: Docker (Code Execution Sandbox)
- Local AI Engine: Semantic Kernel & Ollama (Llama 3.2)
- Frontend: Razor Views, Bootstrap, Vanilla CSS, Monaco Editor
To run this project locally, you must have the following installed and running:
- .NET 9 SDK
- SQL Server (LocalDB supported)
- Docker Desktop (Must be running in the background)
- Ollama (Must be installed for the local AI agent)
-
Clone the repository:
git clone [https://github.com/your-username/JustBigO-Fun.git](https://github.com/your-username/JustBigO-Fun.git) cd JustBigO-Fun -
Build the Docker Execution Sandbox: The application requires a specific Docker image to compile user and AI code. Ensure Docker Desktop is running, then execute this command in the project root:
docker build -f Runner.Dockerfile -t justbigo-runner:latest . -
Download the AI Model: The AI transpilation engine relies on the Llama 3.2 model. Run this command to download it to your local machine (this may take a few minutes depending on your internet connection):
ollama run llama3.2
(Note: You can close the Ollama chat prompt once the download finishes, but the Ollama app must remain running in your system tray).
-
Configure Database: Update the connection string in
JustBigO(Fun)/appsettings.jsonif you are not using the default LocalDB instance. -
Restore & Run:
dotnet restore dotnet run --project "JustBigO(Fun)"Note: Database migrations and initial data seeding (Problems & Admin user) occur automatically on the first run.
- Admin Email:
[email protected] - Admin Password:
Admin123!
JustBigO(Fun)/Controllers/: MVC controllers including a dedicatedAdminarea for problem management.JustBigO(Fun)/Hubs/: SignalR hubs for real-time AI code streaming.JustBigO(Fun)/Models/: Domain entities likeProblem,Submission, andProblemTest.JustBigO(Fun)/Services/: Business logic, specifically theICodeExecutor(Docker Sandbox) andICodeTranslatorAgent(AI).JustBigO(Fun)/Data/: EF Core context and seeders (ProblemSeeder,AdminSeeder).JustBigO(Fun)/Views/: Razor views for the public interface and administrative tools.
- Surgical Updates: Follow existing patterns for adding new features or fixing bugs.
- Validation: Use Data Annotations for model validation.
- Security: Decorate administrative actions with
[Authorize(Roles = AdminSeeder.AdminRole)]. - Testing: New features should be accompanied by verification logic.

