{"id":23913071,"url":"https://github.com/mirian97/staff-management-system","last_synced_at":"2026-04-07T22:31:14.813Z","repository":{"id":271032600,"uuid":"903952744","full_name":"Mirian97/staff-management-system","owner":"Mirian97","description":"Fullstack app built with Laravel and Next.js","archived":false,"fork":false,"pushed_at":"2025-02-16T01:25:48.000Z","size":553,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-23T18:15:36.959Z","etag":null,"topics":["composer","eloquent-orm","laravel","mysql","next15","nextauth","php8","tailwindcss"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/Mirian97.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}},"created_at":"2024-12-16T00:48:48.000Z","updated_at":"2025-02-22T19:34:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"07a647ee-ba3e-4156-a6ed-2a290d4e045b","html_url":"https://github.com/Mirian97/staff-management-system","commit_stats":null,"previous_names":["mirian97/staff-management-system"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mirian97%2Fstaff-management-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mirian97%2Fstaff-management-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mirian97%2Fstaff-management-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mirian97%2Fstaff-management-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mirian97","download_url":"https://codeload.github.com/Mirian97/staff-management-system/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240356189,"owners_count":19788512,"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","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":["composer","eloquent-orm","laravel","mysql","next15","nextauth","php8","tailwindcss"],"created_at":"2025-01-05T09:20:56.967Z","updated_at":"2026-04-07T22:31:14.772Z","avatar_url":"https://github.com/Mirian97.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Staff Management System\n\n## Sobre o Projeto\n\nO **Staff Management System** é uma aplicação fullstack desenvolvida para gerenciar informações de funcionários em uma organização. Este projeto utiliza um backend em Laravel para fornecer uma API robusta e segura, enquanto o frontend foi construído em Next.js para oferecer uma experiência de usuário rápida e responsiva.\n\n### Funcionalidades\n\n- **Gestão de Funcionários**: Cadastro, edição, listagem e remoção de funcionários.\n- **Autenticação JWT**: Controle de acesso seguro para os usuários.\n- **Relações Entre Entidades**: Gestão de departamentos com chave estrangeira atreladas a muitos funcionários.\n- **Frontend Moderno**: Interface de usuário desenvolvida em Next.js com estilização responsiva.\n\n## Tecnologias Utilizadas\n\n### Backend\n\n- **Framework**: Laravel 11\n- **Banco de Dados**: MySQL\n- **Autenticação**: JWT (JSON Web Token)\n- **Seeds \u0026 Factories**: Geração automática de dados para testes\n\n### Frontend\n\n- **Framework**: Next.js\n- **Linguagem**: TypeScript\n- **Estilização**: Tailwind CSS\n\n### Outras Ferramentas\n\n- Composer (Gestão de dependências PHP)\n- npm (Gestão de dependências JavaScript)\n\n## Estrutura de Dados\n\n### Migration: Departments\n\n```php\nSchema::create('departments', function (Blueprint $table) {\n    $table-\u003eid();\n    $table-\u003estring('name');\n    $table-\u003etimestamps();\n});\n```\n\n### Migration: Employees\n\n```php\nSchema::create('employees', function (Blueprint $table) {\n    $table-\u003eid();\n    $table-\u003estring('first_name');\n    $table-\u003estring('last_name');\n    $table-\u003estring('email')-\u003eunique();\n    $table-\u003estring('phone');\n    $table-\u003eforeignId('department_id')\n          -\u003econstrained('departments')\n          -\u003eonUpdate('cascade')\n          -\u003eonDelete('cascade');\n    $table-\u003estring('password');\n    $table-\u003etimestamps();\n});\n```\n\n### Migration: Tasks\n\n```php\nSchema::create('tasks', function (Blueprint $table) {\n    $table-\u003eid();\n    $table-\u003estring('title');\n    $table-\u003estring('description');\n    $table-\u003edate('due_date');\n    $table-\u003eforeignId('assignee_id')\n          -\u003econstrained('employees')\n          -\u003eonUpdate('cascade');\n          -\u003eonDelete('cascade');\n    $table-\u003etimestamps();\n});\n```\n\n## Instalação\n\n### Backend\n\n1. Clone o repositório:\n   ```bash\n   git clone https://github.com/Mirian97/staff-management-system.git\n   cd staff-management-system/back\n   ```\n2. Instale as dependências do Laravel:\n   ```bash\n   composer install\n   ```\n3. Configure o arquivo `.env` com os dados do banco de dados e gere uma nova Api key.\n\n   ```bash\n    cp .env.example .env\n\n    php artisan key:generate\n   ```\n\n4. Execute as migrações e seeds:\n   ```bash\n   php artisan migrate --seed\n   ```\n5. Inicie o servidor:\n   ```bash\n   php artisan serve\n   ```\n\n### Frontend\n\n1. Navegue até a pasta do frontend:\n   ```bash\n   cd ../front\n   ```\n2. Instale as dependências do Next.js:\n   ```bash\n   npm install\n   ```\n3. Configure o arquivo `.env.local` com a URL da API do Laravel.\n4. Inicie o servidor de desenvolvimento:\n   ```bash\n   npm run dev\n   ```\n\n## Rotas da API\n\n### Autenticação\n\n- **POST** `/api/register` – Registra um novo usuário.\n- **POST** `/api/login` – Realiza o login e retorna o token JWT.\n- **POST** `/api/logout` – Invalida o token JWT.\n- **GET** `/api/user` – Retorna os dados do usuário autenticado.\n\n### Departments\n\n- **GET** `/api/departments` – Lista todos os departamentos.\n- **POST** `/api/departments` – Cria um novo departamento.\n- **PUT** `/api/departments/{id}` – Atualiza os dados de um departamento.\n- **DELETE** `/api/departments/{id}` – Exclui um departamento.\n\n### Employees\n\n- **GET** `/api/employees` – Lista todos os funcionários.\n- **POST** `/api/employees` – Cria um novo funcionário.\n- **PUT** `/api/employees/{id}` – Atualiza os dados de um funcionário.\n- **DELETE** `/api/employees/{id}` – Exclui um funcionário.\n\n### Tasks\n\n- **GET** `/api/tasks` – Lista todas as tarefas.\n- **POST** `/api/tasks` – Cria uma nova tarefa.\n- **PUT** `/api/tasks/{id}` – Atualiza os dados de uma tarefa.\n- **DELETE** `/api/tasks/{id}` – Exclui uma tarefa.\n\n## Contribuição\n\nContribuições são bem-vindas! Por favor, envie um pull request ou abra uma issue para discutir melhorias no projeto.\n\n## Licença\n\nEste projeto está licenciado sob a [MIT License](./docs/LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmirian97%2Fstaff-management-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmirian97%2Fstaff-management-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmirian97%2Fstaff-management-system/lists"}