Skip to content

FOOR29/TaskLancer

Β 
Β 

Repository files navigation

TaskLancer πŸš€

A modern, full-stack project and task management platform built with Next.js 16, designed to streamline client relationships, project workflows, and team collaboration.

πŸ“‹ Table of Contents

🎯 About

TaskLancer is a comprehensive project management platform specifically designed for freelancers and small teams. Unlike traditional task management tools (Trello, Asana) that only focus on tasks, TaskLancer bridges the gap between work and moneyβ€”connecting project management with financial tracking in a single, unified platform.

With built-in automatic quotation generation, intelligent deadline alerts, and a business-focused dashboard, TaskLancer helps freelancers save time on administration and improve their finances.

πŸ’‘ The Problem & Our Solution

The Problem

Millions of freelancers face a daily reality: the tools they use (Trello, Asana) are good for tasks, but not for business. Freelancers have their work in one app and their money in another. This creates chaos, stress, and costs money.

Our Solution

TaskLancer connects work with money. We're not just a task managerβ€”we're a business management platform for freelancers.

Our unique workflow:

  1. Create the Client - Add client information and contact details
  2. Open the Project - Set up project structure and requirements
  3. Set Your Rate - Enter hours to work and hourly rate
  4. Get Instant Quotation - Our app automatically calculates the quotation

It's simple, fast, and designed for how freelancers actually work.

✨ Features

πŸ’Ό Business Management

  • Automatic Quotation Generator: Enter hours and hourly rateβ€”get instant project quotations
  • Intelligent Dashboard: See your business health at a glance
    • Total number of active projects
    • Total revenue from all quotations
    • Critical: Red alerts for projects due in 7 days or less
  • Client Management: Comprehensive client tracking and relationship management
  • Financial Overview: Track all project budgets and quotations in one place

πŸ“Š Project & Task Management

  • Project Dashboard: Visual overview of all projects with statistics and insights
  • Kanban Board: Drag-and-drop task management with customizable columns
  • Requirements Tracking: Manage project requirements and deliverables
  • Deadline Alerts: Never miss a delivery date with intelligent notifications

πŸ”§ Technical Features

  • User Authentication: Secure authentication system powered by NextAuth v5
  • Multi-language Support: Internationalization with next-intl
  • Responsive Design: Mobile-first design with Tailwind CSS
  • PDF Generation: Export project reports and documentation
  • Email Notifications: Automated email notifications with Resend
  • Dark/Light Theme: Theme switching support
  • Profile Management: User profile customization and settings

πŸ› οΈ Tech Stack

Frontend

  • Framework: Next.js 16 (App Router)
  • Language: TypeScript 5
  • Styling: Tailwind CSS 4
  • UI Components: Custom components with Lucide React icons
  • Animations: Motion (Framer Motion)
  • Forms: React Hook Form + Zod validation
  • State Management: Zustand

Backend

  • API: Next.js API Routes
  • Database: PostgreSQL with Prisma ORM
  • Authentication: NextAuth v5 with Prisma Adapter
  • Password Hashing: bcryptjs
  • Email Service: Resend

Development Tools

  • Package Manager: npm
  • Linting: ESLint
  • Code Quality: TypeScript strict mode

πŸ—„οΈ Database Schema

Our database is designed to handle complex relationships between users, clients, projects, tasks, and requirements.

Database Relational Diagram

πŸ“ UML Architecture Diagram

This comprehensive UML diagram illustrates the complete system architecture of TaskLancer, including class relationships, component structure, data flow patterns, authentication processes, and project workflow. It provides a visual representation of how all entities, services, and components interact within the application.

UML Architecture Diagram

Key Entities

  • Users: Authentication and profile management
  • Clients: Client information and contact details
  • Projects: Project tracking with status and metadata
  • Tasks: Task management with assignees and dependencies
  • Requirements: Project requirements and specifications
  • Sessions/Accounts: NextAuth session management

πŸš€ Getting Started

Prerequisites

  • Node.js 20+ installed
  • PostgreSQL database
  • npm or yarn package manager

Installation

  1. Clone the repository

    git clone <repository-url>
    cd tasklancer
  2. Install dependencies

    npm install
  3. Set up environment variables

    Create a .env file in the root directory (see Environment Variables section)

  4. Configure Prisma

    Make sure to import dotenv config in prisma.config.ts:

    import "dotenv/config";
  5. Run database migrations

    npx prisma migrate dev --name init --skip-seed
  6. Start the development server

    npm run dev
  7. Open your browser

    Navigate to http://localhost:3000

πŸ“ Project Structure

tasklancer/
β”œβ”€β”€ prisma/                # Database schema and migrations
β”‚   β”œβ”€β”€ schema.prisma
β”‚   └── migrations/
β”œβ”€β”€ public/                # Static assets
β”‚   β”œβ”€β”€ flags/
β”‚   β”œβ”€β”€ fonts/
β”‚   β”œβ”€β”€ images/
β”‚   └── logo/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ actions/          # Server actions
β”‚   β”œβ”€β”€ app/              # Next.js app router pages
β”‚   β”‚   β”œβ”€β”€ (auth)/      # Authentication routes
β”‚   β”‚   β”œβ”€β”€ (main)/      # Main application routes
β”‚   β”‚   └── api/         # API routes
β”‚   β”œβ”€β”€ components/       # React components
β”‚   β”‚   β”œβ”€β”€ features/    # Feature-specific components
β”‚   β”‚   β”œβ”€β”€ form/        # Form components
β”‚   β”‚   β”œβ”€β”€ providers/   # Context providers
β”‚   β”‚   └── ui/          # UI components
β”‚   β”œβ”€β”€ constants/        # Application constants
β”‚   β”œβ”€β”€ contexts/         # React contexts
β”‚   β”œβ”€β”€ hooks/            # Custom React hooks
β”‚   β”œβ”€β”€ i18n/             # Internationalization
β”‚   β”œβ”€β”€ lib/              # Utility libraries
β”‚   β”œβ”€β”€ services/         # Business logic services
β”‚   β”œβ”€β”€ stores/           # Zustand stores
β”‚   β”œβ”€β”€ types/            # TypeScript type definitions
β”‚   β”œβ”€β”€ utils/            # Helper functions
β”‚   β”œβ”€β”€ validations/      # Zod schemas
β”‚   └── views/            # Page views
β”œβ”€β”€ auth.config.ts        # NextAuth configuration
β”œβ”€β”€ middleware.ts         # Next.js middleware
└── package.json

πŸ” Environment Variables

Create a .env file in the root directory with the following variables:

# Database
DATABASE_URL="postgresql://user:password@localhost:5432/tasklancer"

# NextAuth
NEXTAUTH_SECRET="your-secret-key"
NEXTAUTH_URL="http://localhost:3000"

# Email (Resend)
RESEND_API_KEY="your-resend-api-key"

# Application
NEXT_PUBLIC_APP_URL="http://localhost:3000"

πŸ“œ Scripts

# Development
npm run dev          # Start development server

# Production
npm run build        # Build for production
npm run start        # Start production server

# Code Quality
npm run lint         # Run ESLint

# Database
npx prisma studio    # Open Prisma Studio
npx prisma migrate dev  # Run migrations
npx prisma generate  # Generate Prisma Client

🚦 Current Status

Beta Phase - Live and Validated βœ…

The project is currently deployed and fully functional, with real clients actively using and validating the platform.

What's Working Now

  • βœ… Client and project management
  • βœ… Automatic quotation system
  • βœ… Intelligent dashboard with deadline alerts
  • βœ… Task management with Kanban board
  • βœ… User authentication and profiles

Coming Soon

  • πŸ”œ Invoice generation
  • πŸ”œ Advanced financial reports
  • πŸ”œ Time tracking integration
  • πŸ”œ Enhanced analytics

Our product works, saves administrative time, and improves finances. We have the product, we have the team, and we have the validation. We're ready to grow.

πŸ‘₯ Team

This project was developed by DevPoint:

  • Juan Cardona - Developer
  • Camilo Parra - Developer
  • Forlan OrdoΓ±ez - Developer
  • Daniel Rojas - Analist

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 97.6%
  • CSS 2.3%
  • JavaScript 0.1%