TaskMate is an intelligent task scheduling and productivity assistant that helps users manage their daily activities efficiently using AI-powered automation and Google Calendar integration.
With TaskMate, users can add tasks using natural language (e.g., "Add a meeting with John tomorrow at 3 PM"), and the system automatically categorizes, prioritizes, and schedules them in the most productive way.
- π§ AI Task Assistant: Understands natural language and provides smart scheduling suggestions.
- π Google Calendar Integration: Two-way sync with Google Calendar to keep events updated everywhere.
- β° Smart Reminders: Adaptive reminders that learn user behavior and optimize timing.
- π Productivity Insights: Visual analytics for completed tasks, focus hours, and productivity trends.
- π Data Security: Encrypted user data with secure cloud backup.
- Frontend: React Native (Expo)
- Backend: Node.js + Express.js
- Database: MongoDB (Atlas)
- Authentication: Firebase / Google OAuth
- Integration: Google Calendar API
TaskMate/
βββ backend/ # Node.js Backend API
β βββ src/
β β βββ models/ # MongoDB Models
β β βββ routes/ # API Routes
β β βββ middleware/ # Auth & Error Handling
β β βββ utils/ # Helper Functions
β β βββ server.js # Entry Point
β βββ package.json
β βββ .env.example
β
βββ frontend/ # React Native App
β βββ src/
β β βββ screens/ # App Screens
β β βββ components/ # Reusable Components
β β βββ navigation/ # Navigation Setup
β β βββ context/ # State Management
β β βββ utils/ # Helper Functions
β βββ App.js
β βββ package.json
β βββ app.json
β
βββ docs/ # Documentation
βββ README.md
- Node.js (v18+)
- npm or yarn
- MongoDB (local or Atlas)
- Expo CLI (
npm install -g expo-cli)
-
Navigate to backend directory:
cd backend -
Install dependencies:
npm install
-
Configure environment variables:
cp .env.example .env
Edit
.envand add your configuration:- MongoDB connection string
- JWT secret
- Firebase credentials
- Google Calendar API keys
- OpenAI API key (for AI features)
-
Start the server:
# Development mode with auto-reload npm run dev # Production mode npm start
Server will run on
http://localhost:5000
-
Navigate to frontend directory:
cd frontend -
Install dependencies:
npm install
-
Start the development server:
# Start Expo npm start # Run on Android npm run android # Run on iOS npm run ios # Run on Web npm run web
POST /api/auth/register- Register new userPOST /api/auth/login- Login userPOST /api/auth/google- Google OAuth login
GET /api/tasks- Get all tasksPOST /api/tasks- Create new taskPUT /api/tasks/:id- Update taskDELETE /api/tasks/:id- Delete task
POST /api/ai/parse-task- Parse natural language inputPOST /api/ai/suggest-schedule- Get AI scheduling suggestionsPOST /api/ai/optimize-day- Optimize daily schedule
GET /api/analytics/overview- Get productivity overviewGET /api/analytics/trends- Get productivity trends
GET /api/calendar/events- Get Google Calendar eventsPOST /api/calendar/sync- Sync with Google Calendar
See API Documentation for detailed information.
PORT=5000
NODE_ENV=development
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
FIREBASE_PROJECT_ID=your_firebase_project_id
GOOGLE_CLIENT_ID=your_google_client_id
OPENAI_API_KEY=your_openai_api_key- β User Authentication (Email/Password)
- β Task CRUD Operations
- β Productivity Analytics
- β User Profile Management
- π§ Google OAuth Integration (In Progress)
- π§ AI Task Parsing (In Progress)
- π§ Google Calendar Sync (In Progress)
- π§ Smart Reminders (Planned)
- π§ Voice Input (Planned)
- ποΈ Voice-based task creation
- π€ Team collaboration mode
- π Web dashboard for cross-platform access
- π Deep integration with Slack / Notion
# Backend tests
cd backend
npm test
# Frontend tests
cd frontend
npm testTaskMate isn't just a scheduler β it's your personal AI productivity coach, designed to help you focus on what matters most. Whether you're a student, freelancer, or professional, TaskMate adapts to your lifestyle and keeps you on track effortlessly.
Contributions are welcome! Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License.
Danuja Adikari
π§ Email : danujaadikari2001@gmail.com
πΌ LinkedIn: linkedin.com/in/danuja-adikari