Data de criação: Aug 24, 2023
Aplicação Full Stack que consiste em ler, criar, editar e deletar livros pessoais, assim também como modificar dados do usuário.
A API foi desenvolvida com PHP, fazendo somente a utilização de uma biblioteca externa para variáveis de ambiente. Quanto ao restante, utiliza-se recursos do próprio PHP, como a library GD para redimensionar as images, Rotas, URL amigável, JWT, Injenção de Dependência, PostgreSQL com PDO Transactions SQL e muito mais.
No frontend foi utilizado o ReactJS para componentizar a aplicação, trazendo também diversos recursos interessantes como useState, useContext, React Router, UI com Chakra UI, Vite e entre outros.
Para organizar o projeto, fora usado o Docker, que traz muitos recursos valiosos para a execução de toda a aplicação.
- API
- PHP - v8.1
- Composer | psr-4
- Routes
- Dependency Injection
- env (vlucas/phpdotenv) - v5.5
- JWT Auth
- GD - Resize Image
- PDO | PDO Pgsql
- Upload Image
- Cors
- Database
- PostgreSQL
- BLOB (Binary Large Object)
- Transactions
- PostgreSQL
- Web:
- ReactJS - Latest
- Vite
- pnpm
- UI - Chakra UI | react / icons
- Axios
- React Router
- Local Storage
- ReactJS - Latest
- Devops:
- Docker
Para executar a aplicação serão necessários alguns passos importantes.
# Clone Repository
$ git clone https://github.com/EricNeves/myBooksApplication.git
# MyBooksAplication Folder
$ cd myBooksApplication/
# Install Dependencies - ReactJS
$ cd web && pnpm install
# Install Dependencies - PHP
$ cd www && composer update
# Execute Docker Commands
$ docker-compose -f www/docker-compose.yml up -d --build && docker-compose -f web/docker-compose.yml up -d --build
- API
- localhost:8181
- Adminer
- localhost:8282
- Web
- localhost:3131
O proximo passo será copiar as informações que estão dentro do arquivo database.sql que se encontra na raiz do projeto e posteriormente acessar o Adminer (localhost:8282).
Obs: password: root
Após isso procure por SQL command e execute as informações copiadas do arquivo database.sql.
Depois de todo o processo, acesse localhost:3131 para consumir toda a aplicação.

