An open API service indexing awesome lists of open source software.

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...

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


Github


![screenshot](github/mybookapp.gif)

### 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: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

![Adminer](github/adminer.png)

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 📃

### Author 🧑‍💻