Skip to content

iAttaquer/ProjectAce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ProjectACE

ProjectACE is a small application designed for managing projects and tasks in teams. It allows user registration and login, creating projects, adding tasks to projects, and managing team members.

{91D66892-DB73-43C7-91BC-567CAE940111}

Technologies

Backend:

  • C#
  • .NET 8.0
  • Entity Framework Core
  • ASP.NET Core
  • PostgreSQL
  • JWT

Frontend:

  • React
  • NextJS
  • Tailwind
  • DaisyUI

Configuration

  1. Database Configuration:
    • Set up a PostgreSQL database and update the connection string in appsettings.json:

      {
        "ConnectionStrings": {
          "DefaultConnection": "Host=localhost;Username=postgres;Password=postgres;Database=TSM;Port=5434"
        }
      }

      Make sure to replace the default connection string with proper connection details

  2. JWT Configuration:
    • In appsettings.json, configure the JWT settings:

      {
        "Jwt": {
          "Issuer": "http://localhost:5246",
          "Audience": "http://localhost:5246",
          "SigningKey": "YourSecretKeyThatIsLongAndSecure"
        }
      }

      Replace YourSecretKeyThatIsLongAndSecure with a secure secret key.

API Endpoints

The API documentation is automatically generated by Swagger and is available at: https://localhost:7056/swagger or http://localhost:5002/swagger after starting the application.

Account Controller

  • POST /api/account/register: Registers a new user.
  • POST /api/account/login: Logs in an existing user.
  • GET /api/account/me: Gets the current user's info.
  • PUT /api/account/change-password: Changes the password of signed in user.
  • PUT /api/account/update-names: Updates first and last name.

Assignment Controller

  • POST /api/assignments/{projectId}: Creates a new assignment for the specified project.
  • GET /api/assignments: Gets all assignments.
  • GET /api/assignments/{id}: Gets assignment by id.
  • GET /api/assignments/my-assignments: Gets all assignments assigned to the current user.
  • GET /api/assignments/projects/{projectId}: Gets all assignments for the specific project.
  • PUT /api/assignments/{id}: Updates an assignment.
  • DELETE /api/assignments/{id}: Deletes an assignment.

Assignment User Controller

  • POST /api/assignment-users/{assignmentId}/{memberId}: Adds a user to an assignment.
  • GET /api/assignment-users/{assignmentId}: Gets all users of an assignment.
  • DELETE /api/assignment-users/{assignmentId}/{memberId}: Removes a user from assignment

Project Controller

  • POST /api/projects: Creates a new project.
  • GET /api/projects: Gets all projects.
  • GET /api/projects/{id}: Gets a project by ID.
  • GET /api/projects/my-projects: Gets all projects of the current user.
  • PUT /api/projects/{id}: Updates a project.
  • DELETE /api/projects/{id}: Deletes a project.

Project Team Controller

  • POST /api/project-teams/{projectId}/{userId}: Adds a user to a project.
  • GET /api/project-teams/{projectId}: Gets all members of a project.
  • DELETE /api/project-teams/{projectId}/{userId}: Removes a user from project.

User Controller

  • GET /api/users: Gets all users.
  • GET /api/users/{id}: Gets a user by id.

About

Webapp to manage projects and tasks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors