{"id":29040376,"url":"https://github.com/voidcoolis/jobapplicationtrackerapi","last_synced_at":"2026-05-18T15:01:06.908Z","repository":{"id":294926953,"uuid":"988523460","full_name":"Voidcoolis/JobApplicationTrackerAPI","owner":"Voidcoolis","description":"A simple and clean ASP.NET Core Web API to track your job applications. Create, update, and manage your applications with either a SQL Server database or a lightweight JSON file. Built for learning, experimenting, and keeping your job hunt organized!","archived":false,"fork":false,"pushed_at":"2025-05-22T18:42:25.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-26T14:05:06.260Z","etag":null,"topics":["aspnetcore","dependency-injection","ef-core","ef-core-migrations","job-tracker","json-storage","rest-api","sql-server","webapi"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Voidcoolis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-22T17:10:57.000Z","updated_at":"2025-05-22T18:45:27.000Z","dependencies_parsed_at":"2025-05-22T19:00:44.903Z","dependency_job_id":null,"html_url":"https://github.com/Voidcoolis/JobApplicationTrackerAPI","commit_stats":null,"previous_names":["voidco0l/jobapplicationtrackerapi","voidcoolis/jobapplicationtrackerapi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Voidcoolis/JobApplicationTrackerAPI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Voidcoolis%2FJobApplicationTrackerAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Voidcoolis%2FJobApplicationTrackerAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Voidcoolis%2FJobApplicationTrackerAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Voidcoolis%2FJobApplicationTrackerAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Voidcoolis","download_url":"https://codeload.github.com/Voidcoolis/JobApplicationTrackerAPI/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Voidcoolis%2FJobApplicationTrackerAPI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275780321,"owners_count":25527345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-18T02:00:09.552Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aspnetcore","dependency-injection","ef-core","ef-core-migrations","job-tracker","json-storage","rest-api","sql-server","webapi"],"created_at":"2025-06-26T14:05:05.739Z","updated_at":"2025-09-18T13:58:26.237Z","avatar_url":"https://github.com/Voidcoolis.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📋Job Application Tracker API\n\nA simple ASP.NET Core Web API to track job applications.  \nSupports two types of data storage repositories:\n- Entity Framework Core with SQL Server\n- JSON file persistence\n\n---\n\n## ✨Features\n\n- CRUD operations for job applications\n- Repository pattern with EF Core and JSON file implementations\n- Swagger UI for API testing\n- Asynchronous programming for better scalability\n\n---\n\n## 📦Prerequisites\n\n- [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0)\n- [SQL Server Express](https://www.microsoft.com/en-us/sql-server/sql-server-downloads) (or any SQL Server instance)\n- [Visual Studio 2022](https://visualstudio.microsoft.com/) or Visual Studio Code\n- [SQL Server Management Studio (SSMS)](https://aka.ms/ssms) for database management\n\n---\n\n## 📚Required NuGet Packages\n\nMake sure your project has the following NuGet packages installed:\n\n- `Microsoft.EntityFrameworkCore`\n- `Microsoft.EntityFrameworkCore.SqlServer`\n- `Microsoft.EntityFrameworkCore.Tools`\n- `Swashbuckle.AspNetCore` (for Swagger)\n\nYou can install them via the **Package Manager Console** in Visual Studio:\n\n```powershell\nInstall-Package Microsoft.EntityFrameworkCore\nInstall-Package Microsoft.EntityFrameworkCore.SqlServer\nInstall-Package Microsoft.EntityFrameworkCore.Tools\nInstall-Package Swashbuckle.AspNetCore\n```\nOr via the .NET CLI\n\n- `dotnet add package Microsoft.EntityFrameworkCore`\n- `dotnet add package Microsoft.EntityFrameworkCore.SqlServer`\n- `dotnet add package Microsoft.EntityFrameworkCore.Tools`\n- `dotnet add package Swashbuckle.AspNetCore`\n\n## ⚙️Configuration\n### Connection String\n\nUpdate your appsettings.json with your SQL Server connection string.\n\n```json\n\"ConnectionStrings\": {\n  \"DefaultConnection\": \"Server=localhost\\\\SQLEXPRESS01;Database=JobApplicationDb;Trusted_Connection=True;MultipleActiveResultSets=true\"\n}\n````\n## 🗄️Database Setup\nRun the following commands in your project root directory (where your .csproj is):\n- `dotnet ef migrations add InitialCreate` creates the initial migration scripts based on your DbContext and models.\n- `dotnet ef database update` applies the migration and creates the database with the required tables.\n\n## ▶️Running the Application\n\nRun your API project using Visual Studio or from the command line:\n\n```bash\ndotnet run\n````\nBy default, Swagger UI will be available at:\n`https://localhost:{port}/swagger`\n\nUse Swagger to test the API endpoints like GET, POST, PUT, DELETE for job applications.\n\n## 📌Dependency Injection Setup (Program.cs)\n``` csharp\nbuilder.Services.AddScoped\u003cIJobApplicationRepository, JobApplicationEfRepository\u003e();\nbuilder.Services.AddScoped\u003cIJobApplicationService, JobApplicationService\u003e();\nbuilder.Services.AddDbContext\u003cApplicationDbContext\u003e(options =\u003e\n    options.UseSqlServer(builder.Configuration.GetConnectionString(\"DefaultConnection\")));\n\nbuilder.Services.AddControllers();\nbuilder.Services.AddEndpointsApiExplorer();\nbuilder.Services.AddSwaggerGen();\n````\n\n## 📖Notes\n- Use Entity Framework repository for production and SQL Server.\n- Use JSON file repository for quick testing or if you want to persist data without a database.\n- The repository interface is async to support scalability and efficient IO.\n\n## 🛠️Troubleshooting\n\nIf you get errors running EF commands:\n\n- Make sure your terminal's current directory is the folder containing the `.csproj` file.\n- Ensure `Microsoft.EntityFrameworkCore.Tools` is installed.\n- If your database doesn't update after POSTing new data, check if the repository calls `SaveChanges()` correctly.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoidcoolis%2Fjobapplicationtrackerapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvoidcoolis%2Fjobapplicationtrackerapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoidcoolis%2Fjobapplicationtrackerapi/lists"}