Skip to content

YagoBorba/DevTaskManager

Repository files navigation

DevTaskManager


Welcome to the DevTaskManager repository


Project Type .NET Vite


❤️ About the Project

Important

DevTaskManager is a browser extension focused on project and task management for developers, backed by a REST API in ASP.NET Core.

The project combines a Chrome extension frontend (React + Vite + CRXJS) with a .NET 8 backend (Entity Framework Core + SQLite). The main objective is to provide a practical workflow to create projects, manage tasks, and track task status directly from the browser.

✨ What Can DevTaskManager Do?

  • 📁 Project Management: Create, list, update, and delete projects through dedicated API endpoints.

  • Task Management by Project: Create, list, update, and delete tasks inside each project with support for status and description.

  • 🔌 Browser Extension Experience: Run the UI as a Chrome extension (Manifest V3), integrating task management into your browsing flow.

  • 🌐 REST API with Swagger: Explore and test endpoints via Swagger UI in development.

  • 🔄 Integrated Dev Workflow: Run frontend and backend together with a single command at repository root.

🛠️ Under the Hood (Main Technologies)

🚀 Getting Started

Prerequisites

1. Clone the repository

git clone https://github.com/YagoBorba/DevTaskManager.git
cd DevTaskManager

2. Install frontend dependencies

npm install

3. Restore backend dependencies

dotnet restore backend/DevTaskManager.csproj

4. Apply database migrations

dotnet ef database update --project backend/DevTaskManager.csproj

5. Start development environment

npm run dev

This command starts:

Swagger (development): http://localhost:5146/swagger

🧪 Available Scripts

At repository root (package.json):

  • npm run frontend - starts Vite.
  • npm run backend - starts ASP.NET Core API (backend/DevTaskManager.csproj).
  • npm run dev - runs frontend and backend concurrently.
  • npm run build - TypeScript build + Vite production build.
  • npm run lint - linting for frontend code.
  • npm run preview - previews frontend production build.

📦 API Endpoints

Projects

  • GET /api/projects - list all projects.
  • GET /api/projects/{id} - get project by ID.
  • POST /api/projects - create project.
  • PUT /api/projects/{id} - update project.
  • DELETE /api/projects/{id} - delete project.

Tasks (within project)

  • GET /api/projects/{projectId}/tasks - list tasks from a project.
  • GET /api/projects/{projectId}/tasks/{taskId} - get task by ID.
  • POST /api/projects/{projectId}/tasks - create task in project.
  • PUT /api/projects/{projectId}/tasks/{taskId} - update task in project.
  • DELETE /api/projects/{projectId}/tasks/{taskId} - delete task from project.

🧩 Project Structure

backend/
    Application/
        DTOs/
        Services/
    Domain/
        Models/
    Infrastructure/
        Data/
            Migrations/
    Presentation/
        Controllers/
    Program.cs

frontend/
    src/
        pages/
        services/
        manifest.config.ts

🧭 Chrome Extension Notes

The extension uses Manifest V3 and requests permissions such as tabs, storage, scripting, activeTab, and sidePanel.

Configured host permissions include:

  • http://localhost:5146/*
  • https://localhost:5146/*
  • http://127.0.0.1:5146/*
  • https://127.0.0.1:5146/*

🤝 Contributing

Contributions are welcome.

  1. Fork the repository.
  2. Create your feature branch.
  3. Commit your changes.
  4. Push your branch.
  5. Open a Pull Request.

📝 License

No LICENSE file is currently present in this repository. If you want, you can add one (for example, MIT) to define usage terms explicitly.

📬 Contact


About

DevTaskManager is a Chrome extension developed to facilitate project and task management directly within the browser. This project was initiated as part of a university assignment.

Topics

Resources

Stars

Watchers

Forks

Contributors