Project Tracker
Project Details

Project Tracker

Completed May 2025. This is a Django-based project management system to track and manage multiple projects, tasks, and work sessions. I can create, edit and delete tasks helping me stay organised.

Overview

This project tracker was created with software for one in mind. It will be something I use to help me stay focused on particular projects. I used Claude.ai to help me build this project. I knew what I wanted but didn't want to spend the next few days coding.

It look less than 10 hours to complete and it was working and ready to use. We completed the project in one chat.

Right now I am only using this in local development. I wasn't sure whether I would deploy it and decided I would. It might make a nice  open source project.

I enjoy the variety of different projects. If it is going to take months to build something I would rather have three or four different projects on the go than focus on just that one project for months.

The only issue with working on multiple projects is when I leave one project to work on another I can't always remember where I left off. So I needed a tracker that tells me what I have worked on and what needs to be worked on.

Features Include:

- Track projects with status (active, paused, completed) and priority

- Manage tasks for each project

- Log work sessions to monitor time spent on projects

- Customizable site configuration including branding and social media

- REST API for integration with other systems

- Responsive UI using Tailwind CSS

Projects App

- Models for Projects, Tasks, and Work Sessions

- List and detail views for projects

- Status filtering and sorting

- REST API endpoints

Technical Details

Django and Tailwind CSS

MySQL - MariaDB - upgraded to PostgreSQL March 2025

DRF (Django REST Framework) is used in this project to create a REST API for the project tracker application.

How DRF is Used in the Project

API Serializers: In projects/serializers.py, DRF serializers convert complex data types like Django model instances into JSON format for the API:

ProjectSerializer, TaskSerializer, and WorkSessionSerializer handle the conversion of model data

ViewSets: In projects/views DRF ViewSets provide a simplified way to create CRUD operations:

ProjectViewSet, TaskViewSet, and WorkSessionViewSet handle API requests with minimal code

URL Routing: In projects/urls .py, DRF's router system automatically generates URLs for the API endpoints.

Results

This project was quick to put together. I literally used cut and paste with the code provided by Claude. I did a vibe coding session with this project. There were things that had to be corrected but I managed to get everything done without having to start a new conversation.

It helped that I stuck to my Django project structure. I have a pdf version that I upload to the project knowledge area. Still, Claude didn't follow it 100% but I was there to remind it to stick to the structure when it went off course.

The application follows a clean Django project structure:

- `config/`: Main Django configuration (settings, urls, wsgi, asgi)

- `core/`: Shared functionality, homepage, and site-wide utilities

- `projects/`: Project management app with models and views

- `templates/`: Project-wide templates

- `static/`: Static files (CSS, JS, images)

- `media/`: User-uploaded content (project images, site branding)

Back to Portfolio