Your modern server-based productivity and knowledge management hub
Features • Screenshots • Installation • Server Setup • Usage • Backup • Platforms • Contributing
TaskSphere is a comprehensive productivity app with a Python-based backend for reliable data storage:
- 📋 Project Management: Create and manage projects with detailed descriptions and progress tracking
- ✅ Task Tracking: Organize tasks with priorities, due dates, and status tracking
- 📝 Notes Management: Keep important information with rich note-taking capabilities
- 📅 Calendar Integration: View all your tasks and projects in a unified calendar view
- 🔔 Notifications: Get reminded of upcoming deadlines and important events
- 💾 Server-side Storage: All data stored securely on your local server
- 🔄 Backup & Restore: Export/import data with selective options
- 🌌 Knowledge Galaxy: Visualize relationships between your tasks, projects and notes
- 📊 Project Steps: Break down projects into manageable steps with weight-based progress tracking
- 🐍 Python Backend: Robust data management with Python and JSON file storage
- Node.js (v14.0.0 or later)
- npm (v6.0.0 or later)
- Python 3.7+ (for the backend server)
# Clone the repository
git clone https://github.com/yourusername/tasksphere.git
# Navigate to the project directory
cd tasksphere
# Install dependencies
npm install
# Start the development server
npm run devThe frontend app will be available at http://localhost:8080 by default.
TaskSphere requires a backend server for data storage and management:
# Navigate to the server directory
cd server
# Install server dependencies
npm install
# Start the server
npm startThe server will run on http://localhost:3001 and includes:
- Node.js Express Server: Handles API requests and routes
- Python Backend: Manages data storage in JSON files
- Data Storage: All data stored in
server/Data/directory
server/
├── server.js # Express.js API server
├── backend.py # Python data management
├── package.json # Server dependencies
└── Data/ # JSON data storage
├── projects.json
├── tasks.json
├── notes.json
└── project-steps.json
The server provides RESTful API endpoints:
GET /api/{entity}- Get all itemsGET /api/{entity}/{id}- Get item by IDPOST /api/{entity}- Create new itemPUT /api/{entity}/{id}- Update itemDELETE /api/{entity}/{id}- Delete itemGET /api/backup/export- Export all dataPOST /api/backup/import- Import dataDELETE /api/backup/clear- Clear all data
-
Start the Backend Server (Required):
cd server npm start -
Start the Frontend (in a new terminal):
npm run dev
-
Access the Application: Open
http://localhost:8080in your browser
Projects are the main organizational units stored on the server:
- Create projects with start/end dates and descriptions
- Track project progress automatically based on task completion
- Set reminders for important project milestones
- Define project steps with weight percentages for accurate progress tracking
- All project data synchronized with the server in real-time
Tasks are actionable items linked to projects:
- Create tasks with title, description, priority levels
- Set due dates, start/end times, and reminders
- Track task status (To Do, In Progress, Done)
- Associate tasks with specific projects
- Filter and sort tasks by various criteria
- Server-side persistence ensures data reliability
Notes for storing important information:
- Rich text note creation and editing
- Associate notes with specific projects
- Set date-based reminders for important notes
- Organize and filter notes by date or project
- Full-text search capabilities
- Secure server-side storage
Unified calendar interface showing all data:
- View projects, tasks, and notes in a single calendar
- Toggle between day, month, and year views
- Navigate easily to specific dates
- Visual representation of workload and deadlines
- Real-time synchronization with server data
Dynamic graph visualization of your workflow:
- Interactive relationship mapping between projects, tasks, and notes
- Create custom connections between different entities
- Zoom and navigate through your knowledge network
- Filter by different entity types for focused views
- Server-side connection storage with local caching
TaskSphere provides comprehensive backup and restore functionality:
- Go to Settings > Data Management
- Click Export Data
- Select data types to include:
- Projects and project steps
- Tasks with all details
- Notes and content
- Knowledge graph connections
- Download the generated JSON backup file
- Use the Import Data option in Settings
- Select your backup JSON file
- Choose which data types to restore
- Confirm the import operation
- Projects Only: Export project data and steps
- Tasks Only: Export all task information
- Notes Only: Export notes and content
- Custom Selection: Choose specific data types
- Full Backup: Complete system backup including connections
- All backups are created from server-side data
- Import operations directly update server storage
- Data consistency maintained across all operations
- Automatic timestamp and version tracking
TaskSphere runs on multiple platforms with server-client architecture:
- Desktop: Windows, macOS, and Linux (with server)
- Web: Any modern browser with server backend
- Mobile: Progressive Web App support (requires running server)
- Network: Multi-device access to single server instance
- OS: Windows, macOS, or Linux
- Node.js: v14.0.0 or later
- Python: 3.7 or later
- RAM: 2GB minimum, 4GB recommended
- Storage: 500MB free disk space for application and data
- Browser: Chrome 70+, Firefox 63+, Safari 12+, Edge 79+
- Network: Access to server (localhost or network)
- RAM: 1GB for browser operation
- Storage: Minimal (data stored on server)
- Local Use: Server and client on same machine
- Network Use: Configure server IP for remote access
- Port Configuration: Default ports 3001 (server) and 5173 (client)
- Security: Local network operation recommended
- Format: JSON files for each entity type
- Location:
server/Data/directory - Backup: Regular filesystem backups recommended
- Migration: Simple JSON format for easy data migration
server/Data/
├── projects.json # Project definitions and metadata
├── tasks.json # Task details and assignments
├── notes.json # Note content and associations
├── project-steps.json # Project step definitions
└── connections.json # Knowledge graph relationships
Contributions to TaskSphere are welcome!
- Fork the repository
- Set up both frontend and backend:
# Frontend setup npm install npm run dev # Backend setup (new terminal) cd server npm install npm start
- Create your feature branch:
git checkout -b feature/amazing-feature - Test with both server and client
- Commit your changes:
git commit -m 'Add some amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- Maintain compatibility between frontend and backend
- Test all API endpoints with the Python backend
- Ensure data consistency across server restarts
- Update documentation for API changes
- Follow TypeScript best practices for frontend
- Use proper error handling for server communication
Server Connection Failed
- Ensure the server is running:
cd server && npm start - Check if port 3001 is available
- Verify Python is installed and accessible
Data Not Persisting
- Confirm server is running before creating data
- Check
server/Data/directory permissions - Verify API endpoints are responding
Backup/Restore Issues
- Ensure server connection is active
- Check JSON file format for imports
- Verify sufficient disk space for exports
This project is licensed under the MIT License - see the LICENSE file for details.












