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:8080Backend (.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.
