Next: All transactions
This commit is contained in:
parent
262ce76421
commit
a309ec25e2
7 changed files with 2 additions and 128 deletions
|
|
@ -1,11 +0,0 @@
|
|||
const allowedOrigins = [
|
||||
'http://localhost:5000',
|
||||
'https://192.168.1.102',
|
||||
'https://10.231.7.128',
|
||||
'https://192.168.1.100',
|
||||
'https://192.168.1.9',
|
||||
|
||||
|
||||
]
|
||||
|
||||
module.exports = allowedOrigins
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
const mongoose = require("mongoose");
|
||||
|
||||
const connectDB = async () => {
|
||||
try {
|
||||
const conn = await mongoose.connect(process.env.MONGO_URI, {
|
||||
useNewUrlParser: true,
|
||||
useUnifiedTopology: true,
|
||||
});
|
||||
|
||||
mongoose.set("strictQuery", false);
|
||||
mongoose.set("toJSON", {
|
||||
virtuals: true,
|
||||
versionKey: false,
|
||||
transform: (doc, ret) => {
|
||||
delete ret._id;
|
||||
return ret;
|
||||
},
|
||||
});
|
||||
mongoose.set("toObject", {
|
||||
virtuals: true,
|
||||
versionKey: false,
|
||||
transform: (doc, ret) => {
|
||||
delete ret._id;
|
||||
return ret;
|
||||
},
|
||||
});
|
||||
mongoose.set("runValidators", true);
|
||||
|
||||
console.log(`✅ MongoDB Connected: ${conn.connection.host}`);
|
||||
} catch (error) {
|
||||
console.error(`❌ Error: ${error.message}`);
|
||||
process.exit(1);
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = connectDB;
|
||||
|
|
@ -7,7 +7,7 @@ const app = express();
|
|||
app.use(express.json()); // to parse JSON
|
||||
|
||||
// Prediction route
|
||||
const predictRoute = require('./routes/predict');
|
||||
const predictRoute = require('./predict');
|
||||
app.use('/api/predict', predictRoute);
|
||||
|
||||
// MongoDB connection
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
// models/transaction.js
|
||||
const mongoose = require('mongoose');
|
||||
|
||||
const transactionSchema = new mongoose.Schema({
|
||||
description: String,
|
||||
amount: Number,
|
||||
category: String,
|
||||
date: { type: Date, default: Date.now },
|
||||
});
|
||||
|
||||
const Transaction = mongoose.model('Transaction', transactionSchema);
|
||||
|
||||
module.exports = Transaction;
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
// routes/transactionroutes.js
|
||||
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const axios = require('axios');
|
||||
const Transaction = require('./models/transaction'); // ✅ lowercase filename
|
||||
|
||||
// Add transaction
|
||||
router.post('/add', async (req, res) => {
|
||||
try {
|
||||
const { description, amount } = req.body;
|
||||
const predictRes = await axios.post('http://192.168.1.9:5000/api/predict', { description });
|
||||
const category = predictRes.data.category || 'Other';
|
||||
|
||||
const newTransaction = new Transaction({ description, amount, category });
|
||||
await newTransaction.save();
|
||||
|
||||
res.status(200).json({
|
||||
message: '✅ Transaction saved with category',
|
||||
data: newTransaction,
|
||||
});
|
||||
} catch (err) {
|
||||
console.error('❌ Error adding transaction:', err.message);
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
|
||||
// Update budget
|
||||
router.post('/update', async (req, res) => {
|
||||
try {
|
||||
const { budget } = req.body;
|
||||
await BudgetModel.updateOne({}, { amount: budget }, { upsert: true });
|
||||
res.status(200).json({ success: true });
|
||||
} catch (error) {
|
||||
res.status(500).json({ error: 'Failed to update budget' });
|
||||
}
|
||||
});
|
||||
|
||||
// Get transactions
|
||||
router.get('/', async (req, res) => {
|
||||
try {
|
||||
const category = req.query.category;
|
||||
let query = {};
|
||||
|
||||
if (category && category !== 'All') {
|
||||
query.category = category;
|
||||
}
|
||||
|
||||
const transactions = await Transaction.find(query).sort({ date: -1 });
|
||||
|
||||
res.status(200).json({
|
||||
success: true,
|
||||
data: transactions.map(tx => ({
|
||||
id: tx._id,
|
||||
description: tx.description,
|
||||
amount: tx.amount,
|
||||
category: tx.category,
|
||||
date: tx.date,
|
||||
})),
|
||||
});
|
||||
} catch (err) {
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
|
|
@ -622,7 +622,7 @@ class _FinTrackHomePageState extends State<FinTrackHomePage>
|
|||
primaryColor: primaryColor,
|
||||
cardColor: cardColor,
|
||||
|
||||
floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat,
|
||||
floatingActionButtonLocation: FloatingActionButtonLocation.centerTop,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue