Skip to content

A full-stack MERN application for managing daily tasks and tracking monthly finances with visual reports.

Notifications You must be signed in to change notification settings

caaaqil/Task-Finance-Manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task & Finance Manager

A full-stack MERN application for managing daily tasks and tracking monthly finances with visual reports.


Features

Task Management

  • ✅ Add, edit, delete tasks
  • ✅ Mark tasks as completed
  • ✅ View by day, week, or month
  • ✅ Categories (Work, Study, Personal, etc.)
  • ✅ Search and filter tasks

Finance Tracking

  • ✅ Add income & expenses
  • ✅ Categorize (Food, Rent, Transport, etc.)
  • ✅ Monthly summary with charts
  • ✅ Visual charts (bar/pie charts)
  • ✅ Balance tracking

Dashboard

  • ✅ Combined view of today's tasks + current month's financial summary
  • ✅ Interactive charts and visualizations
  • ✅ Filter/search functionality
  • ✅ Monthly/yearly selection

Tech Stack

  • Frontend: React 18 with Vite, Context API, Recharts
  • Backend: Node.js + Express.js
  • Database: MongoDB with Mongoose
  • Styling: Custom CSS

Project Structure

task-finance-manager/
├── client/                 # React frontend
│   ├── src/
│   │   ├── components/
│   │   ├── pages/
│   │   ├── context/
│   │   ├── App.jsx
│   │   └── main.jsx
│   └── package.json
└── server/                 # Node.js backend
    ├── models/
    ├── routes/
    ├── controllers/
    ├── server.js
    └── package.json

Setup Instructions

Prerequisites

  • Node.js (v14 or higher)
  • MongoDB (local or Atlas)

Backend Setup

cd server
npm install
mongod # if running locally
npm start

Backend runs on http://localhost:5000

Frontend Setup

cd client
npm install
npm run dev

Frontend runs on http://localhost:3000


API Endpoints

Tasks

  • POST /api/tasks - Create a new task
  • GET /api/tasks - Get all tasks
  • GET /api/tasks/:id - Get a specific task
  • PUT /api/tasks/:id - Update a task
  • DELETE /api/tasks/:id - Delete a task

Finance

  • POST /api/finance - Create a new finance entry
  • GET /api/finance - Get all finance entries
  • GET /api/finance/summary - Get monthly summary
  • DELETE /api/finance/:id - Delete a finance entry

Database Schema

Task Schema

{
  title: String (required),
  description: String,
  category: String (default: "General"),
  date: Date (default: Date.now),
  status: String (enum: ["pending", "completed"], default: "pending")
}

Finance Schema

{
  type: String (enum: ["income", "expense"], required),
  amount: Number (required),
  category: String (default: "General"),
  description: String,
  date: Date (default: Date.now)
}

Usage

  1. Dashboard: View overview of tasks and finances with charts
  2. Tasks: Add, manage, and track your daily tasks
  3. Finance: Record income and expenses, view monthly summaries

Features Implemented

  • ✅ Complete CRUD operations for tasks and finances
  • ✅ Real-time data updates with React Context
  • ✅ Interactive charts and visualizations
  • ✅ Search and filter functionality
  • ✅ Responsive design
  • ✅ Monthly financial summaries
  • ✅ Task completion tracking
  • ✅ Category-based organization

Future Enhancements

  • User authentication
  • Data export functionality
  • Advanced filtering options
  • Recurring tasks
  • Budget tracking and alerts
  • Mobile app version

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

License

MIT License - feel free to use this project for learning and development.

About

A full-stack MERN application for managing daily tasks and tracking monthly finances with visual reports.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published