Intelligent task management with automated organization - Built with Next.js and Express.js
Task-do is a revolutionary task management application that goes beyond simple to-do lists. With intelligent automation features, it organizes your tasks based on priority and duration, helping you optimize your productivity and never miss important deadlines. The application features a clean, intuitive interface that adapts to your workflow.
- Priority-Based Sorting: Automatically organizes tasks based on priority levels and urgency
- Duration-Based Scheduling: Intelligently organizes tasks considering time requirements
- Deadline Optimization: Smart scheduling to ensure timely completion of critical tasks
- Dynamic Scheduling: Create and manage flexible schedules that adapt to your needs
- Operational Hours: Configure working hours and availability preferences
- Time Blocking: Automatic time allocation for optimal productivity
- Secure Authentication: Robust account creation and login system
- Profile Customization: Personalize your workspace and preferences
- Data Privacy: Your tasks and schedules remain private and secure
- Responsive Design: Seamless experience across desktop, tablet, and mobile devices
- Intuitive Interface: Clean, modern UI that focuses on productivity
- Next.js - React framework with server-side rendering
- React - Component-based UI library
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first styling
- Responsive Design - Mobile-first approach
- Shadcn - Set of beautifully-designed, accessible components
- Express.js - Fast, unopinionated web framework
- Prisma ORM - Next-generation database toolkit
- Node.js - JavaScript runtime environment
- JWT Authentication - Secure user sessions
- RESTful API - Clean, scalable API design
- PostgreSQL - Reliable data storage
- Prisma Migrations - Database schema management
- API Testing - Postman/Thunder Client compatible
Make sure you have the following installed:
-
Clone the Repository
git clone https://github.com/hamzabenarfa/Task-do.git cd Task-do -
Backend Setup
# Navigate to backend directory cd backend # Install dependencies npm install # Set up environment variables cp .env.example .env # Edit .env with your database configuration # Set up the database npx prisma migrate dev --name init # Generate Prisma client npx prisma generate # Start the backend server npm run dev
-
Frontend Setup
# Open a new terminal and navigate to frontend directory cd my-app # Install dependencies npm install # Set up environment variables cp .env.local.example .env.local # Configure your API endpoints # Start the frontend development server npm run dev
Backend (.env):
DATABASE_URL="postgresql://username:password@localhost:5432/taskdo"
JWT_SECRET="your-super-secret-jwt-key"
JWT_EXPIRES_IN="7d"
PORT=3001
NODE_ENV="development"Frontend (.env.local):
NEXT_PUBLIC_API_URL=http://localhost:3001
NEXT_PUBLIC_APP_NAME="Task-do"# Backend development with hot reload
cd backend
npm run dev
# Frontend development
cd my-app
npm run dev
# Build for production
npm run build
# Database operations
npx prisma studio # Open Prisma Studio
npx prisma db seed # Seed database with sample data- Development Team: Thank you to all contributors who make this project possible
- Open Source Community: Built with amazing open-source tools and libraries
- Inspiration: Motivated by the need for smarter, more intuitive task management
🌟 Star us on GitHub if you find Task-do helpful!
Made with ❤️ for productivity enthusiasts worldwide