Welcome to the Expense Tracker web application! This React-based application helps you keep track of your transactions, manage your expenses, and maintain a clear view of your total balance. Below is a comprehensive guide on how to use the application and some additional features it offers.
You can easily add transactions using the "Add Transaction" form. Each transaction requires a description and amount. Transactions can be either income or expense.
The application maintains a transaction history, providing you with a chronological list of all your recorded transactions. This allows you to keep track of your financial activities over time.
The total balance is dynamically calculated and updated with each transaction. You can quickly see your current financial standing based on the recorded transactions.
We understand that preferences vary, so the application includes a Dark Mode feature. Switch between light and dark themes to suit your visual preferences.
The backend of this application is built using Node.js, Express.js, and MongoDB.
- Clone the Repository:
git clone https://github.com/TamerTimraz/react-expense-tracker.git- Navigate to the Project Directory:
cd react-expense-tracker- Install Dependencies:
npm install-
Set up Database:
- Create an Account:
- Visit MongoDB Atlas and create an account.
- Create a New Cluster:
- After logging in to MongoDB Atlas, click the "Build a Cluster" button to create a new cluster.
- Choose a cloud provider, region, and cluster configuration that best fits your needs. You can select the free tier cluster for testing and development purposes.
- Deploy Cluster:
- Click the "Create Cluster" button to deploy your cluster. MongoDB Atlas will provision resources on your selected cloud provider and deploy your cluster.
- Connect to your Cluster:
- Click the "Connect" button for your cluster and choose to connect with drivers.
- Copy your connection string and paste it where applicable in the program.
- Create an Account:
-
Run the Application:
npm run devThis will run both the frontend and backend servers concurrently.