TaskAI is a modern task management application that combines the power of AI with real-time collaboration features. Built with Next.js for the frontend and Go for the backend, it offers a robust and scalable solution for managing tasks efficiently.
-
Authentication
- User registration with name, email, and password
- Secure login system
- JWT-based authentication
- Protected routes
-
Dashboard
- Overview of all tasks
- Real-time task statistics
- Task count by status
- Beautiful UI with shadcn/ui components
-
Task Management
- Create new tasks
- Edit existing tasks
- Delete tasks with confirmation
- Real-time updates using WebSocket
- Search and filter tasks
- Sort by different criteria
-
AI Integration
- AI-powered task suggestions
- Smart task breakdown
- Priority and due date recommendations
- Step-by-step task completion guidance
-
UI/UX
- Responsive design
- Dark/Light theme support
- Toast notifications
- Loading states
- Error handling
- Smooth transitions
-
API Endpoints
- RESTful API design
- JWT authentication middleware
- CORS support
- Rate limiting
-
Database
- PostgreSQL integration
- GORM for ORM
- Auto migrations
- Efficient queries
-
Real-time Features
- WebSocket support
- Real-time task updates
- Live notifications
-
AI Integration
- OpenAI API integration
- Smart task analysis
- Intelligent suggestions
- Next.js 13
- React
- TypeScript
- Tailwind CSS
- shadcn/ui
- Socket.io Client
- Lucide Icons
- Go
- Fiber
- GORM
- PostgreSQL
- WebSocket
- OpenAI API
- Node.js 16+
- Go 1.21+
- PostgreSQL
- OpenAI API key
- Clone the repository
git clone <repository-url>
cd taskai
- Frontend Setup
# Install dependencies
npm install
# Start development server
npm run dev
- Backend Setup
cd backend
# Install Go dependencies
go mod download
# Create .env file
cp .env.example .env
# Update environment variables in .env
# Add your database URL and OpenAI API key
# Start the server
go run .
- Database Setup
# Create PostgreSQL database
createdb taskai
# Tables will be auto-migrated when starting the backend
- Environment Variables
Frontend (.env):
NEXT_PUBLIC_API_URL=http://localhost:8080
Backend (.env):
PORT=8080
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/taskai
JWT_SECRET=your-secret-key-here
OPENAI_API_KEY=your-openai-api-key
# Frontend tests
npm run test
# Backend tests
cd backend
go test ./...
POST /api/auth/register
- Register new userPOST /api/auth/login
- User login
GET /api/tasks
- Get all tasksPOST /api/tasks
- Create new taskPUT /api/tasks/:id
- Update taskDELETE /api/tasks/:id
- Delete taskPOST /api/tasks/suggestions
- Get AI suggestions
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.