├── .DS_Store ├── Backend └── .DS_Store ├── Frontend └── .DS_Store └── README.md /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamrraj/React-Django-Blog/5092422a2277e2b9deb367cea13a33ffefe77c02/.DS_Store -------------------------------------------------------------------------------- /Backend/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamrraj/React-Django-Blog/5092422a2277e2b9deb367cea13a33ffefe77c02/Backend/.DS_Store -------------------------------------------------------------------------------- /Frontend/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamrraj/React-Django-Blog/5092422a2277e2b9deb367cea13a33ffefe77c02/Frontend/.DS_Store -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Django-React-Blog 2 | 3 | This is a "Blogging Platform" which gives all general features a blog should have. 4 | 5 | The backend is completely build on Django using Django Rest Framework, while the frontend is completed using ReactJS. 6 | 7 | # Demo 8 | 9 | **FrontEnd** :[https://simpleisbetter.herokuapp.com/](https://simpleisbetter.herokuapp.com/) 10 | 11 | **BackEnd** :[https://softbike.herokuapp.com/](https://softbike.herokuapp.com/) 12 | 13 | ### Features 14 | 15 | - Login/Registration 16 | - Minimal Design 17 | - Create/Edit/Delete Your Posts 18 | - User Profile 19 | - Comment Enable On Post Using disqus 20 | - Comment Count On Post 21 | - Live Search Blog 22 | - Filter Blog By Author By Click on Author Name 23 | - 24 | - Admin Panel 25 | - Create/View/Edit/Delete A User 26 | - Pagination on All blog list and Live search 27 | - Create/View/Edit/Delete A Post By Any User 28 | - View/Reply All Comments In The Blog 29 | - View/Edit/Delete All Newsletter In The Blog 30 | - View/Reply All Comments To A Specific Post 31 | - Publish/Unpublish A Post 32 | 33 | ## Backend Setup 34 | 35 | 1. Clone this repository: `git clone https://github.com/dojutsu-user/Django-React-Blog.git`. 36 | 2. Change the current directory to `backend` folder: `cd ./Django-React-Blog/backend/adminapi/`. 37 | 3. Create a virutal environment and install all backend dependencies with pipenv: `pipenv install`. 38 | 4. Start the virtual environment: `pipenv shell`. 39 | 5. Change the working directory to `adminapi` which contains the `manage.py` file: `cd ./adminapi`. 40 | 6. Run `python manage.py makemigrations`. 41 | 7. Run `python manage.py migrate`. 42 | 8. Create a superuser: `python manage.py createsuperuser` 43 | 9. Run the server: `python manage.py runserver`. 44 | 45 | ## Frontend Setup 46 | 47 | 1. Navigate the current working directory to `landing`: `cd ./Django-React-Blog/frontend/blog_frontend/`. 48 | 2. Install the all frontend dependencies using npm: `npm install`. 49 | 3. Run the server: `npm start`. 50 | 51 | ### Creating The First Post 52 | 53 | 1. Make sure that both Backend and Frontend Servers are running. 54 | 2. Open your browser and navigate to [localhost:3000](localhost:3000). 55 | 3. Go To [http://localhost:3000/login/](http://localhost:3000/login/). 56 | 4. Go To Signup page if you are not registered [http://localhost:3000/signup/](http://localhost:3000/signup/). 57 | 5. Login with the superuser credentials created while setting up the Backend (Step: 8) 58 | 6. Navigate To _Dashboard -> Your all New Post_ ([http://localhost:3000/user/dashboard/create-new-post](http://localhost:3000/user/dashboard/)). 59 | 7. Navigate To _Dashboard -> create New Post_ ([http://localhost:3000/user/addblog/](http://localhost:3000/user/addblog/)). 60 | 8. Fill the form to create a new post and then Submit it. 61 | 9. The submitted post will not appear on the homescreen unless and until the admin approves it. 62 | 10. To approve the post, go to _Dashboard -> Admin Panel -> View All Posts_ and then click on _Edit_ Button. 63 | 11. Check the checkbox labelled _Verified_ and then submit. 64 | 12. After the post gets published, it will be displayed on the homepage of the blog ([localhost:3000](localhost:3000)). 65 | 13. Note: _Once the post gets published, the user can only edit the post from the Dashboard, however, the admin still can edit/delete the post from the Admin Panel_ 66 | 67 | ## Backend API Documentation 68 | 69 | API Documentation is generated using the default tool provided by Django Rest Framework. 70 | 71 | ### View The API documentation 72 | 73 | 1. Make sure that the Backend Server is running. 74 | 75 | **Regrads** 76 | 77 | Rahul Raj 78 | --------------------------------------------------------------------------------