https://github.com/ericneves/mybooksapplication
🪿 Full Stack Application with PHP, JWT, Dependency Injection, PostgreSQL, React JS, React Router, Docker and more...
https://github.com/ericneves/mybooksapplication
axios depencyinjection jwt pdo php postgresql reactjs routes upload-file
Last synced: about 2 months ago
JSON representation
🪿 Full Stack Application with PHP, JWT, Dependency Injection, PostgreSQL, React JS, React Router, Docker and more...
- Host: GitHub
- URL: https://github.com/ericneves/mybooksapplication
- Owner: EricNeves
- License: mit
- Created: 2023-08-15T18:37:52.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-24T13:39:41.000Z (over 1 year ago)
- Last Synced: 2025-01-18T07:27:02.316Z (3 months ago)
- Topics: axios, depencyinjection, jwt, pdo, php, postgresql, reactjs, routes, upload-file
- Language: JavaScript
- Homepage:
- Size: 27.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license
Awesome Lists containing this project
README
![]()
My Books Application
Aplicação Full Stack desenvolvida com PHP, PostgreSQL, ReactJS e Docker.Data de criação: Aug 24, 2023
![]()
![]()
![]()

### Description💡
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.
### Features 💿
* 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
* Web:
- ReactJS - Latest
- Vite
- pnpm
- UI - Chakra UI | react / icons
- Axios
- React Router
- Local Storage
* Devops:
- Docker### How to use 💻
Para executar a aplicação serão necessários alguns passos importantes.
```sh
# 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```
### Application Process ⚙️
* API
- localhost:8181
* Adminer
- localhost:8282
* Web
- localhost:3131O 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.
### License 📃