TaskManager is a Django project that provides APIs for managing tasks, activities, comments, and user profiles. The project consists of two apps: taskmaster
and internals
.
- CRUD operations for tasks, activities, comments, and user profiles.
- Integration with the default Django user model for user authentication.
- SQLite database for storing data.
-
Clone the repository:
https://github.com/kipsangmarion/taskmanager cd TaskManager
-
Set up a virtual environment:
python -m venv venv source venv/bin/activate (Linux/Mac) OR venv\Scripts\activate (Windows)
-
Install the dependencies:
pip install -r r.txt
-
Apply database migrations:
python manage.py migrate
-
Start the development server:
python manage.py runserver
-
Access the project in your browser at
http://localhost:8000/
. You can also host the project and use it as a bankend to your applications.
The taskmaster
app contains the models, serializers, and APIs for managing tasks, activities, comments, and user profiles.
Task
: Represents a task with fields such asid
,user
,title
,tag
,desc
,status
,hours
,created_at
,updated_at
,planned_start_date
,planned_end_date
,actual_start_date
,actual_end_date
, andcontent
.Activity
: Represents an activity related to a task with fields likeid
,task
,title
,desc
,status
,hours
,created_at
,updated_at
, andcontent
.Comment
: Represents a comment associated with a task or activity with fields such asid
,task
,activity
, andcontent
.User
: This the default Django user model.UserProfile
: Represents a user's additional data with fields such asid
,user
,intro
, andimage
.
TaskSerializer
: Serializes theTask
model for API responses and requests.ActivitySerializer
: Serializes theActivity
model for API responses and requests.CommentSerializer
: Serializes theComment
model for API responses and requests.UserProfileSerializer
: Serializes theUserProfile
model for API responses and requests.RegisterSerializer
: Serializes theUser
model for registering API responses and requests.ChangePasswordSerializer
: Serializes theUser
model for changing user password API responses and requests.
/tasks_view.py
: Provides endpoints for creating, retrieving, updating, and deleting tasks./activities_view.py
: Provides endpoints for creating, retrieving, updating, and deleting activities./comments_view.py
: Provides endpoints for creating, retrieving, updating, and deleting comments./user-profiles_view.py
: Provides endpoints for creating, retrieving, updating, and deleting user profiles./view.py
: Provides endpoints for registering users, changing password, logout and logout from all devices.
The internals
app contains pagination and renderers for the API responses.
CustomPagination
: Custom pagination class for paginating API responses.
CustomJSONRenderer
: Custom JSON renderer for API responses.
Contributions are welcome! If you find any issues or have suggestions for improvements, please create a new issue or submit a pull request.