- Description
- Tech Stack
- Quick Start
- Key Dependencies
- Project Structure
- Development Setup
- Contributors
- Contributing
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).
- Basic API Login from DRF (api-auth)
- View Posts (ListCreateAPIView)
- Detail Page (RetrieveDestroyAPIView)
- New Post (CreateAPIView)
- Delete (delete queryset)
# 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.txtasgiref: 3.8.1
Django: 5.2
djangorestframework: 3.16.0
sqlparse: 0.5.3
tzdata: 2025.2
.
├── 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
- Install Python (v3.10+ recommended)
python -m venv venv && source venv/bin/activate(Windows:venv\Scripts\activate)pip install -r requirements.txt
Thanks to everyone who has contributed to this project:
See the full list of contributors →
Contributions are welcome! Here's the standard flow:
- Fork the repository
- Clone your fork:
git clone https://github.com/topCodegeek/reddit-clone/edit/main/readme.md.git - Branch:
git checkout -b feature/your-feature - Commit:
git commit -m 'feat: add some feature' - Push:
git push origin feature/your-feature - Open a pull request
Please follow the existing code style and include tests for new behavior where applicable.