A powerful and intuitive project management web application inspired by Jira, built for modern teams who need flexibility and clarity in their workflow management.
- 📋 Kanban Board - Visual task management with drag & drop functionality
- 📊 Analytics Dashboard - Comprehensive project insights and reporting
- 📝 Backlog Management - Prioritize and organize your tasks efficiently
- 📅 Timeline View - Track project progress and deadlines
- 🎯 Drag & Drop Interface - Seamless task organization across columns
- 👥 Team Collaboration - Multi-user support with role-based permissions
- 📸 File Attachments - Upload and manage project assets with Cloudinary
- 📧 Email Notifications - Stay updated on project changes
- Frontend: Next.js (React Framework)
- Backend: Go (Golang)
- Database: PostgreSQL with Supabase
- File Storage: Cloudinary
- Email Service: SMTP Configuration
Before you begin, ensure you have the following installed:
- Node.js (v16 or higher)
- Go (v1.19 or higher)
- Git
You'll also need accounts and API keys for:
- Supabase (Database & Auth)
- Cloudinary (File Storage)
- SMTP Email Service (Gmail, SendGrid, etc.)
git clone https://github.com/fiqryx/pry-todo.git
cd pry-todoCopy the environment example files:
# Backend environment
cp backend/.env.example backend/.env
# Frontend environment
cp frontend/.env.example frontend/.envAdd the following variables to both backend/.env and frontend/.env:
# Database
DATABASE_URL=your_postgresql_connection_string
# Supabase Configuration
SUPABASE_URL=your_supabase_project_url
SUPABASE_ANON_KEY=your_supabase_anon_key
# Cloudinary Configuration
CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_api_secret
# Email Configuration
MAIL_HOST=your_smtp_host
MAIL_PORT=your_smtp_port
MAIL_USERNAME=your_email_username
MAIL_PASSWORD=your_email_passwordBackend (Go):
cd backend
go mod download
go run main.goFrontend (Next.js):
cd frontend
npm install
npm run devThe application will be available at:
- Frontend:
http://localhost:3001 - Backend API:
http://localhost:8000
PryTodo uses PostgreSQL which can be set up locally:
- Install PostgreSQL on your system
- Create a new database: createdb prytodo
- Set your DATABASE_URL to: postgresql://username:password@localhost:5432/prytodo
- Create a Cloudinary account
- Navigate to your Dashboard
- Copy the Cloud Name, API Key, and API Secret
Configure your SMTP settings for email notifications:
- Gmail: Use App Passwords for authentication
- SendGrid: Use your API key as the password
- Custom SMTP: Use your server credentials
- Create Projects - Set up new projects with custom workflows
- Manage Tasks - Add, edit, and organize tasks in your backlog
- Use Kanban Board - Drag and drop tasks between columns
- Track Progress - Monitor project timeline and analytics
- Collaborate - Invite team members and assign tasks
We welcome contributions! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the Project
- 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.
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue with detailed information
- Contact the maintainers
- [✓] Mobile responsive design improvements
- [✓] Advanced filtering and search
- Integration with third-party tools
- Real-time collaboration features
- Advanced reporting and exports
- API documentation
Made with ❤️ by the PryTodo Team

