Taskion is a lightweight and intuitive task management interface built with modern web technologies. It integrates seamlessly with Notion, providing users with a smooth and efficient task management experience.
The motivation behind Taskion is to create a simple, user-friendly interface for managing tasks and notes. By leveraging powerful frontend and backend technologies, Taskion aims to deliver a responsive and visually appealing application across desktop and web platforms. The goal is to provide users with a cohesive and enjoyable task management experience that syncs seamlessly with Notion.
- Electron: Cross-platform desktop application framework
- Electron-Vite: Fast development and build processes for Electron
- Electron-Builder: Packaging and distribution for Electron apps
- React: UI library for building interactive interfaces
- TailwindCSS: Utility-first CSS framework
- NextUI: Modern React component library
- React Query: Data fetching and state management
- React Router: Routing for the desktop app
- Next.js: React framework for server-side rendering and static site generation
- TailwindCSS: Utility-first CSS framework
- Framer Motion: Animation library for React
- Headless UI: Unstyled, accessible UI components
- Go: Programming language for backend development
- Fiber: Fast, flexible web framework for Go
- Notion API: Integration for task and note management
- Node.js (v18 or later)
- pnpm
- Go (v1.20 or later)
- Air (Go live reload tool)
- Clone the repository
- Install dependencies:
pnpm install
- Set up environment variables:
- Copy
.env.example
to.env
in bothapps/desktop
andapps/api
directories - Fill in the required values in the
.env
files
- Copy
- Start the development servers:
pnpm dev
This command will start all necessary services:
- Desktop app (Electron)
- Landing page
- Backend API
- Cross-platform support (Windows, macOS, Linux)
- Responsive design with TailwindCSS
- Modern UI components with NextUI
- Seamless integration with Notion
- Task creation, editing, and deletion
- Real-time task updates
- Menubar window for quick access
- OAuth2 integration with Notion
- Notion Pages and Blocks CRUD operations
- GitHub star count display on landing page
- Drag and drop task reordering
- Dark mode support
- Set up Electron environment
- Configure Electron-Vite for fast development
- Implement Electron-Builder for packaging
- Develop UI with React and NextUI components
- Style the application using TailwindCSS
- Integrate with Notion API
- Add menubar window
- Implement Notion OAuth2 authentication
- Create landing page with Next.js
- Implement real-time updates and improve responsiveness
- Add offline support and sync functionality
- Implement dark mode, drag and drop reordering, and more interactive features to the landing page
We welcome contributions to Taskion! If you'd like to contribute, please:
- Fork the repository
- Create a new branch for your feature
- Commit your changes
- Push to your branch
- Create a pull request
Please ensure your code adheres to our coding standards and includes appropriate tests.
For more detailed information about each component, please refer to the respective README files in the apps/desktop
, apps/landing
, and apps/api
directories.