make it easier to track what you spend on
- Overview
- Demo
- Screenshots
- Technologies Used
- Setup Instructions
- How It Works
- Code Snippets
- Features
- Status
- Contributors
- Contact
The purpose of this project was to take in user data such as salary/expenses and with that information structure a budget for the user as well as hold the information as to what expenses the user made. The hope is so that users can visualize what they are spending their money on, as well better mange their money on items.
In progress still...
when the user first joins the app it prompts them for their salary, and then it calcuates a budget, and users can then start their tracking journey in which they fill out a form for the item.
This is the page a user goes to in order to chec the items they have purchased, and clicking on them provides more info. Sliding allows users to delete the item.
- Java
- Json
- FireBase(yet to be implemented)
- Install Android Stuidos
- Run the application
- click on Clone Repository
- Paste Repository URL[https://github.com/dancannotcode/ExpenseTrackingAndroidApp.git]
- User Set Up
- The program retrives the users salary and saves it as SharedPreference
- an Intent is called and sends to the home page activity
 
- The program retrives the users salary and saves it as 
- Home Page UI
- Retrive the data of User salary then calculate monthy budget for users
- Button createwill send user to the insert entry activity
- Button logwill send user to the- logView activity
 
- Entry Insert
- Load data of all expenses array so we can add the new expense for the user, from a SharedPreference
- Creates an expense made by the user and tracks the expense as a SharedPreference
- A category that is created is saved as a SharedPreference, and loaded again for user to select again once a new entry is created
- Once user clicks save button, then it sends user back to thehome page activityand saves the expense on expenseList as a Json object usingSharedPreference
 
- Load data of all expenses array so we can add the new expense for the user, from a 
- Log View
- First we load the expenses in our array through SharedPreference
- Then eached expense is displayed as a recyclerView
- An onSwipefunction is used for users to delete an entry in our expoense array, and then our list is adjusted accordance to the deleted list
- If an item is clicked on, an alertDialogis used for users to see info about the expense
 
- First we load the expenses in our array through 
findViewById(R.id.save).setOnClickListener(v -> {
            //converts user Input into data of our expense
            expense.setDate(date.getText().toString());
            expense.setExpenseName(name.getText().toString());
            String stringAmtVal = amount.getText().toString().trim();
            double amtVal;
            //makes sure an expense is a double instead of a string
            if(stringAmtVal.isEmpty()){
                amtVal = 0;
            }else{
                amtVal = Double.parseDouble(stringAmtVal);
            }
            expense.setAmtSpent(amtVal);
            expense.setNote(note.getText().toString());
            expense.setReason(reason.getText().toString());
            expenseList.add(expense);
            //saves the data of the user
            saveDataExpenses();
            Intent intent = new Intent(getApplicationContext(), HomePage.class);
            startActivity(intent);
        });private void saveDataExpenses() {
        SharedPreferences sharedPreferences = getSharedPreferences("myPreference", Context.MODE_PRIVATE);
        //sharedPreferences only allow for primitive times, so
        // we use json in order to jave objects like an array
        SharedPreferences.Editor editor = sharedPreferences.edit();
        Gson gson = new Gson();
        String jsonExpense = gson.toJson(expenseList);
        editor.putString("expenses", jsonExpense);
        editor.apply();
    }- User authentication(in process...)
- User data
- visualized data
- easy-to-use
- Add more visual datasets
- Improve User Interface
- Deploy the project on a cloud service
- In Progress: Actively working on new features and improvements.
Document any challenges faced during the project:
- Handling user data over multiple activites
- implemnting data sets like graphs
- Having to transition to cloud service
Highlight the key takeaways from the project:
- Enhanced understanding of objects
- Improved skills in debugging
- Learned to use Json in order to store data
- Learned about spinners in Android apps
List all contributors involved in the project:
- Daniel Ortega Jr - created the User Interface, as well as how the data is handled within the app
Feel free to reach out for collaboration, feedback, or questions.
Created by: [Daniel Ortega Jr]
Connect with me:
- Email: dancannotcode@gmail.com
- GitHub: YourGitHubProfile
- LinkedIn: Daniel Ortega Jr



