Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

reddit-clone-api (CRUD API)

GitHub stars GitHub forks GitHub issues Last commit

📑 Table of Contents

📝 Description

This project applyies CRUD in an old-version-replica of reddit—posts having title, description, link and upvotes (API only). This was a great way of testing coding knowledge while in the early phase of learning REST API using Django REST Framework (DRF).

Features:

  • Basic API Login from DRF (api-auth)
  • View Posts (ListCreateAPIView)
  • Detail Page (RetrieveDestroyAPIView)
  • New Post (CreateAPIView)
  • Delete (delete queryset)

🛠️ Tech Stack

Python

⚡ Quick Start

# 1. Clone the repository
git clone https://github.com/topCodegeek/reddit-clone/edit/main/readme.md.git

# 2. Create & activate a virtualenv
python -m venv venv && source venv/bin/activate

# 3. Install dependencies
pip install -r requirements.txt

📦 Key Dependencies

asgiref: 3.8.1
Django: 5.2
djangorestframework: 3.16.0
sqlparse: 0.5.3
tzdata: 2025.2

📁 Project Structure

.
├── manage.py
├── posts
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── migrations
│   │   ├── 0001_initial.py
│   │   └── __init__.py
│   ├── models.py
│   ├── serializers.py
│   ├── tests.py
│   └── views.py
├── readme.md
├── reddit_clone
│   ├── __init__.py
│   ├── asgi.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── requirements.txt

🛠️ Development Setup

Python

  1. Install Python (v3.10+ recommended)
  2. python -m venv venv && source venv/bin/activate (Windows: venv\Scripts\activate)
  3. pip install -r requirements.txt

👥 Contributors

Thanks to everyone who has contributed to this project:

topCodegeek

See the full list of contributors →

👥 Contributing

Contributions are welcome! Here's the standard flow:

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/topCodegeek/reddit-clone/edit/main/readme.md.git
  3. Branch: git checkout -b feature/your-feature
  4. Commit: git commit -m 'feat: add some feature'
  5. Push: git push origin feature/your-feature
  6. Open a pull request

Please follow the existing code style and include tests for new behavior where applicable.

About

Django Rest Framework (DRF) course project.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages