Este é um projeto Laravel chamado Notes, onde os usuários podem criar, ler, atualizar e excluir notas (CRUD). O sistema utiliza PostgreSQL como banco de dados para armazenar as informações das notas e segue o padrão RESTful API para comunicação entre backend e frontend.
- Laravel 11.x - Framework PHP
- PostgreSQL - Banco de Dados Relacional
- JWT Auth - Autenticação via JSON Web Token
- Angular 20.1.5 - Framework Frontend
- Criar Notas: Permite que o usuário crie novas notas.
- Ler Notas: Exibe uma lista de todas as notas e detalhes específicos de cada nota.
- Atualizar Notas: O usuário pode editar o conteúdo de uma nota existente.
- Excluir Notas: O usuário pode deletar uma nota.
- Autenticação JWT: Login e proteção de rotas via token.
- API RESTful: Estrutura de rotas seguindo boas práticas REST.
Clone este repositório:
git clone https://github.com/jprogram-php-projects/New-Notes.git cd backendInstale as dependências do Laravel:
composer install
Crie o arquivo
.enve configure:cp .env.example .env
Configure as credenciais do banco de dados PostgreSQL:
DB_CONNECTION=pgsqlDB_HOST=127.0.0.1DB_PORT=5432DB_DATABASE=laravel_notesDB_USERNAME=seu_usuarioDB_PASSWORD=sua_senha
Gere as chaves da aplicação e JWT:
php artisan key:generate php artisan jwt:secret
⚠️ Importante: Após gerar as chaves, abra o arquivo.enve verifique se as variáveisAPP_KEYeJWT_SECRETforam preenchidas corretamente.Execute as migrações e seeders:
php artisan migrate --seed
Inicie o servidor de desenvolvimento:
php artisan serve
Acesse o sistema no navegador: http://localhost:8000
Acesse o repositório do frontend:
cd frontendInstale as dependências:
npm install
Configure a URL da API no ambiente: Edite o arquivo
src/environments/environment.ts:exportconstenvironment={production: false,apiUrl: 'http://localhost:8000/api'};
Inicie o servidor Angular:
ng serve
Acesse http://localhost:4200
- Certifique-se de que o PostgreSQL esteja rodando antes de iniciar o backend.
- Para gerar dados iniciais, utilize os seeders com
php artisan migrate --seed. - Sempre que clonar o projeto, lembre-se de rodar
php artisan key:generateephp artisan jwt:secretpara configurar corretamente as chaves.
