Project Details

Project Tracker

Created in One Day

A Django-based project management system to track and manage multiple projects, tasks, and work sessions.

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 may deploy it at some stage but that isn't urgent right now.

Project Tracker

Problem Statement & Business Logic

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.

Technical Stack

Django

Django REST Framework

Tailwind CSS

MySQL - MariaDB

Architecture & Design Patterns

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.py, 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.

Key Features

- 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

Development Process

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

© 2024 Djangify. All rights reserved.