Organify is a time management tool designed for developers and IT teams. It enables users to track, analyze, and optimize the time spent on tasks, facilitating efficient workflow organization.
# Clone and install
git clone https://github.com/zhenya-paitash/app-organify.git
cd app-organify
bun install
# Setup database (requires Appwrite credentials)
bun run seed
# Start the application
bun run build
bun run start
Organify is a modern time management tool designed specifically for developers and IT teams. It enables users to track, analyze, and optimize the time spent on tasks, facilitating efficient workflow organization.
- Name: Organify
- Slogan: Own your time. We're here to help.
- Year: 2025
- Type: Educational Project
- Version: 1.0.0
Organify aims to streamline the workflow of development teams by providing:
- Efficient time tracking and management
- Clear project organization and task prioritization
- Enhanced team collaboration and communication
- Data-driven insights for productivity optimization
- Create and manage multiple workspaces for different teams or projects
- Custom workspace images and branding to maintain visual identity
- Secure invite system with unique codes for easy team onboarding
- Role-based access control (Admin/Member) for proper permission management
- Analytics dashboard showing workspace activity and performance metrics
- Flexible workspace settings for customization
- Create and manage projects within workspaces with custom branding
- Comprehensive project analytics with progress tracking and insights
- Visual project timeline and milestone management
- Project-specific task management with customizable workflows
- Resource allocation and team member assignment
- Project health indicators and performance metrics
- Multiple view options for different work styles:
- Table view for detailed task analysis
- Kanban board for visual workflow management
- Calendar view for deadline tracking
- Advanced task status tracking with customizable workflows:
- Backlog for future planning
- Todo for upcoming tasks
- In Progress for active work
- In Review for quality assurance
- Done for completed items
- Smart due date management with notifications and reminders
- Powerful task filtering and sorting capabilities
- Rich task descriptions with markdown support
- Task dependencies and relationships tracking
- Real-time updates across all workspaces and projects
- Comprehensive member management with role-based permissions
- Efficient task assignment and workload balancing
- Progress tracking with visual indicators
- Team activity feed and notifications
- Collaborative commenting and discussion threads
- Next.js 15 with App Router for optimal performance and SEO
- React 19 with Server Components for enhanced user experience
- TypeScript for robust type safety and better development experience
- Tailwind CSS for consistent and responsive design
- Shadcn/UI components for a polished, accessible interface
- OAuth providers (GitHub, Google) for easy and secure login
- Robust session management with automatic token refresh
- Protected routes with role-based access control
- Secure data transmission with HTTPS
- Regular security audits and updates
- Appwrite backend for reliable and scalable data storage
- Real-time updates for instant collaboration
- Optimistic UI updates for smooth user experience
- Efficient caching with TanStack Query for optimal performance
- Automatic data synchronization across devices
- Robust error handling and recovery mechanisms
- Comprehensive database seeding system (see seed/README.md)
- Custom cursor interaction module (original vanilla JS implementation in docs/examples/cursor)
- Responsive design that works seamlessly on all devices
- Dark/Light mode with system preference detection
- Intuitive keyboard shortcuts for power users
- Smooth drag-and-drop interface for easy task management
- Accessibility features for inclusive usage
- Performance optimizations for fast loading and interaction
- RESTful API for custom integrations
- Webhook support for automated workflows
- Export capabilities for data portability
- Integration with popular development tools
- Customizable workflows and task statuses
- Flexible notification preferences
- Personalizable dashboard layouts
- Custom field support for tasks and projects
- Bun (v1.2.15 or higher)
- Appwrite account
- GitHub account (for OAuth)
- Google Cloud account (for OAuth)
-
Clone the repository and install dependencies:
git clone https://github.com/zhenya-paitash/app-organify.git cd app-organify bun install
-
Create an Appwrite account and get your credentials:
- Create a new project in Appwrite
- Get your Project ID
- Create an API key with necessary permissions
-
Run the database seeder:
bun run seed
This will create a default admin user:
- Email: admin@organify.com
- Password: Admin12345!
-
Build and start the application:
bun run build bun run start
Step-by-Step Appwrite Configuration
Note: For detailed Next.js SSR authentication setup, see the official Appwrite guide
- Create an account at Appwrite
- Create a new project
Attributes:
- name: string (256 chars, required)
- userId: string (100 chars, required)
- inviteCode: string (10 chars, required)
- imageUrl: string (1400000 chars)
Permissions:
- Add "All users" with full access (create, read, update, delete)

Attributes:
- userId: string (50 chars, required)
- workspaceId: string (50 chars, required)
- role: enum (ADMIN, MEMBER, required)
Permissions:
- Add "All users" with full access
Attributes:
- name: string (256 chars, required)
- workspaceId: string (50 chars, required)
- imageUrl: string (1400000 chars)
Permissions:
- Add "All users" with full access
Attributes:
- name: string (256 chars, required)
- status: enum (BACKLOG, TODO, IN_PROGRESS, IN_REVIEW, DONE, required)
- dueDate: datetime (required)
- position: integer (min: 1000, max: 1000000, required)
- workspaceId: string (50 chars, required)
- projectId: string (50 chars, required)
- executorId: string (50 chars, required)
- description: string (2048 chars)
Permissions:
- Add "All users" with full access
Create .env.local
with:
# App Settings
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXT_PUBLIC_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
# Appwrite Init
NEXT_APPWRITE_KEY=your_api_key
NEXT_PUBLIC_APPWRITE_PROJECT=your_project_id
# Appwrite Database
NEXT_PUBLIC_APPWRITE_DATABASE_ID=your_database_id
NEXT_PUBLIC_APPWRITE_WORKSPACES_ID=your_workspaces_id
NEXT_PUBLIC_APPWRITE_MEMBERS_ID=your_members_id
NEXT_PUBLIC_APPWRITE_PROJECTS_ID=your_projects_id
NEXT_PUBLIC_APPWRITE_TASKS_ID=your_tasks_id
NEXT_PUBLIC_APPWRITE_IMAGES_BUCKET_ID=your_bucket_id
π OAuth Configuration Guide
-
Appwrite Configuration
- Navigate to Appwrite Console >
<your organization>
><your project>
> Auth > Settings - Find
GitHub
provider and click Enable - Copy the
Authorization callback URL
- Navigate to Appwrite Console >
-
GitHub Configuration
- Go to GitHub Developer Settings
- Click New OAuth App
- Fill in the details:
Application name: <your project name> Homepage URL: http://localhost:3000 Authorization callback URL: <paste from Appwrite>
- Click Register application
- Copy the
Client ID
and generate a newClient Secret
-
Complete Appwrite Setup
- Return to Appwrite GitHub provider settings
- Paste the
Client ID
andClient Secret
- Click Update
-
Appwrite Configuration
- Navigate to Appwrite Console >
<your organization>
><your project>
> Auth > Settings - Find
Google
provider and click Enable - Copy the
Authorization callback URL
- Navigate to Appwrite Console >
-
Google Cloud Configuration
- Open Google Cloud Console
- Create a new project or select existing
- Navigate to APIs & Services > OAuth consent screen
- Select External user type
- Fill in the required information:
App name: <your project name> User support email: <your email>
- Click Save and continue
-
Create OAuth Credentials
- Go to Credentials > Create Credentials > OAuth client ID
- Select Web application
- Add authorized origins:
http://localhost:3000
- Add authorized redirect URIs:
<paste from Appwrite>
- Click Create
- Copy the
Client ID
andClient Secret
-
Complete Appwrite Setup
- Return to Appwrite Google provider settings
- Paste the
Client ID
andClient Secret
- Click Update
Vercel Deployment
-
Edit
NEXT_PUBLIC_APP_URL
to your Vercel deployment URL (e.g., https://app-organify.vercel.app) -
Appwrite Configuration:
- Go to
Integrations
βAdd platform
βWeb
- Change
Type
to Next.js - Set
Hostname
to *.vercel.app - Copy new
NEXT_PUBLIC_APPWRITE_ENDPOINT
with server = https://fra
.cloud.appwrite.io/v1
- Go to
-
GitHub OAuth Setup:
- Set
Homepage URL
= https://app-organify.vercel.app - Add
Authorization callback URL
= https://fra
.cloud.appwrite.io/v1/oauth2...
- Set
-
Google Cloud Client Setup:
- Add
Authorized JavaScript origins
= https://app-organify.vercel.app - Add
Authorized redirect URIs
= https://fra
.cloud.appwrite.io/v1/oauth2...
- Add