SoldiSotto is a web application developed in React, designed to manage personal finances. This project was created with the aim of exploring and learning the features of the React framework, also integrating Firebase for backend management.
- Registration and Login: Users can create an account or log in with existing credentials.
- Add Transactions: Easily and quickly record your income and expenses.
- Chronological View: View all your transactions in chronological order.
- Statistics: View financial statistics by day, week, month, or year.
- PDF Generation: Generate a PDF containing all transactions for a selected period (day, week, month, year) along with relevant statistics.
- React: JavaScript framework used to build the user interface.
- Firebase: Used as the backend for authentication and transaction data management.
- Node.js installed on your machine.
- A configured Firebase account.
-
Clone the repository:
git clone https://github.com/your-username/SoldiSotto.git
-
Navigate to the project directory:
cd SoldiSotto
-
Install dependencies:
npm install
-
Configure Firebase:
- Create a project on Firebase.
- Obtain your Firebase configuration credentials and insert them into a
.env
file at the root of the project.
Example of a
.env
file:REACT_APP_API_KEY=your-api-key REACT_APP_AUTH_DOMAIN=your-auth-domain REACT_APP_PROJECT_ID=your-project-id REACT_APP_STORAGE_BUCKET=your-storage-bucket REACT_APP_MESSAGING_SENDER_ID=your-messaging-sender-id REACT_APP_APP_ID=your-app-id
-
Start the application:
npm run dev
The app will be available at
http://localhost:5173
.
To deploy this project on GitHub Pages:
-
Install the
gh-pages
package if not already installed:npm install gh-pages --save-dev
-
Configure your
package.json
by adding the"homepage"
field:"homepage": "https://your-username.github.io/repository-name"
Replace
your-username
with your GitHub username andrepository-name
with the repository name. -
Add the following
scripts
topackage.json
:"predeploy": "npm run build", "deploy": "gh-pages -d build"
-
Run the deployment command:
npm run deploy
-
Go to your GitHub repository settings under Pages to ensure that
gh-pages
is selected as the source branch. Your application will be live at the URL defined in thehomepage
field.
Since this is one of my first projects in React, any suggestions or contributions are welcome! If you'd like to contribute, feel free to open a pull request or report any issues via the issues tab.
For questions or suggestions, you can contact me via email: [email protected].
SoldiSotto è un'applicazione web sviluppata in React, progettata per gestire le proprie finanze personali. Questo progetto nasce con l'obiettivo di esplorare e apprendere le funzionalità del framework React, integrando anche Firebase per la gestione del backend.
- Registrazione e Login: Gli utenti possono creare un account o accedere con credenziali esistenti.
- Aggiunta di Transazioni: Registra le tue entrate e uscite in modo semplice e rapido.
- Visualizzazione Cronologica: Consulta tutte le tue transazioni in ordine cronologico.
- Statistiche: Visualizza le statistiche delle tue finanze per giorno, settimana, mese o anno.
- Generazione di PDF: Genera un PDF contenente tutte le transazioni per un periodo selezionato (giorno, settimana, mese, anno) insieme a statistiche rilevanti.
- React: Framework JavaScript utilizzato per costruire l'interfaccia utente.
- Firebase: Utilizzato come backend per l'autenticazione e la gestione dei dati delle transazioni.
- Node.js installato sulla tua macchina.
- Un account Firebase configurato.
-
Clona la repository:
git clone https://github.com/tuo-username/SoldiSotto.git
-
Naviga nella directory del progetto:
cd SoldiSotto
-
Installa le dipendenze:
npm install
-
Configura Firebase:
- Crea un progetto su Firebase.
- Ottieni le tue credenziali di configurazione Firebase e inseriscile nel file
.env
nella radice del progetto.
Esempio di file
.env
:REACT_APP_API_KEY=tuo-api-key REACT_APP_AUTH_DOMAIN=tuo-auth-domain REACT_APP_PROJECT_ID=tuo-project-id REACT_APP_STORAGE_BUCKET=tuo-storage-bucket REACT_APP_MESSAGING_SENDER_ID=tuo-messaging-sender-id REACT_APP_APP_ID=tuo-app-id
-
Avvia l'applicazione:
npm run dev
L'app sarà disponibile su
http://localhost:5173
.
Per fare il deploy di questo progetto su GitHub Pages:
-
Installa il pacchetto
gh-pages
se non è già installato:npm install gh-pages --save-dev
-
Configura il tuo
package.json
aggiungendo il campo"homepage"
:"homepage": "https://tuo-username.github.io/nome-repository"
Sostituisci
tuo-username
con il tuo username GitHub enome-repository
con il nome della repository. -
Aggiungi i seguenti
scripts
inpackage.json
:"predeploy": "npm run build", "deploy": "gh-pages -d build"
-
Esegui il comando di deploy:
npm run deploy
-
Vai nelle impostazioni del repository GitHub sotto Pages e assicurati che la branch
gh-pages
sia selezionata come sorgente. La tua applicazione sarà visibile all'URL definito nel campohomepage
.
Essendo uno dei miei primi progetti in React, qualsiasi suggerimento o contributo è ben accetto! Se vuoi contribuire, sentiti libero di aprire una pull request o di segnalare eventuali problemi tramite le issue.
Per domande o suggerimenti, puoi contattarmi via email: [email protected].