Skip to content

mopy7/course-management-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Django REST Framework – Course API

A simple and clean Course Management API built with Django REST Framework using GenericAPIView + Mixins.


πŸ”Ή Features

  • Full CRUD for courses (List, Create, Retrieve, Update, Delete)
  • Custom filtering using query parameters
  • Serializer field validation
  • Custom "Deactivate" endpoint for soft deletion
  • Versioned routes (/api/v1/courses/)

🧠 Tech Stack

  • Python 3.12
  • Django 5
  • Django REST Framework (DRF)

βš™οΈ Setup Instructions

  1. Clone the repository

    git clone https://github.com/mopy7/course-management-api.git
    cd course-management-api
  2. Create and activate a virtual environment

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install dependencies

    pip install -r requirements.txt
  4. Run migrations

    python manage.py makemigrations
    python manage.py migrate
  5. Start the development server

    python manage.py runserver
  6. Open in browser or Postman

    http://127.0.0.1:8000/api/v1/courses/
    

πŸ“‘ API Endpoints

Method Endpoint Description
GET /api/v1/courses/ List all courses
POST /api/v1/courses/ Create a new course
GET /api/v1/courses/<id>/ Retrieve a course
PUT / PATCH /api/v1/courses/<id>/ Update a course
DELETE /api/v1/courses/<id>/ Delete a course
POST /api/v1/courses/<id>/deactivate/ Deactivate (soft delete) a course

πŸ§‘β€πŸ’» Author

Mopy
"Miles to go before I sleep..."

About

A Django REST Framework API for managing courses, built using GenericAPIView + Mixins.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages