Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marcosrivasr/expense-app
Tutorial para crear una aplicación web completa en PHP y MySQL donde combinamos sesiones, login, password hashes, CRUD, MVC
https://github.com/marcosrivasr/expense-app
app expense mvc php
Last synced: 2 days ago
JSON representation
Tutorial para crear una aplicación web completa en PHP y MySQL donde combinamos sesiones, login, password hashes, CRUD, MVC
- Host: GitHub
- URL: https://github.com/marcosrivasr/expense-app
- Owner: marcosrivasr
- Created: 2020-03-15T18:51:08.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-02-05T03:47:33.000Z (almost 4 years ago)
- Last Synced: 2024-12-25T01:09:27.011Z (9 days ago)
- Topics: app, expense, mvc, php
- Language: PHP
- Homepage:
- Size: 353 KB
- Stars: 347
- Watchers: 6
- Forks: 38
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Expense App en PHP
![alt text](docs/expense-app-cover.jpg)
Este es el ejercicio final del tutorial para crear una aplicación web completa con PHP. Algunas de las funcionalidades que tiene esta aplicación web son:
- Patrón de diseño Model-View-Controller
- Consultas con MySQL
- Autenticación y registro de usuarios
- Autorización por roles
- Integración de gráficas
- Uso de sesiones## Instalación del proyecto
Lo primero es clonar el proyecto a tu equipo local
```git clone https://github.com/marcosrivasr/expense-app.git```
## Importar base de datos
Ahora tenemos que crear el esquema de la base de datos.
1. Vamos a la carpeta de db
```cd expense-app/db```
2. Vamos a loguearnos a nuestra consola de MySQL (sustituye username con el nombre de usuario de tu conexión)
```terminal
mysql -u username -p
```3. Creamos una nueva base de datos llamada **expenseapp**
```shell
CREATE DATABASE expenseapp;
```4. Salimos con `exit;` y ahora importamos el archivo `expense-app.sql`
```shell
mysql -u username -p expenseapp < expense-app.sql;
```## Configuración de proyecto
Para actualizar las conexiones a la base de datos es importante cambiar los datos que se encuentran en `/config/config.php`
Adicional en `public/js/dashboard.js` es necesario verificar que las URLs usadas para hacer solicitudes asíncronas estén también apuntando correctamente de acuerdo a tu servidor.
```
async function getContent(){
const html = await fetch('http://localhost:8080/expense-app/expenses/create').then(res => res.text());
return html;
}
``````
async function drawChart() {
const http = await fetch('http://localhost:8080/expense-app/expenses/getExpensesJSON')
.then(json => json.json())
.then(res => res);
```