Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/akashgiricse/100daysofdjango

Here I'll work on a few Django based web projects for 💯 days continuously from 14-February-2018 to 24-May-2018. Django is a Python-based web framework.
https://github.com/akashgiricse/100daysofdjango

100-days-of-code-log 100daysofcode 100daysofdjango django python3

Last synced: 11 days ago
JSON representation

Here I'll work on a few Django based web projects for 💯 days continuously from 14-February-2018 to 24-May-2018. Django is a Python-based web framework.

Awesome Lists containing this project

README

        

# Here I'll work on few django based web projects for 100 days continuously from 14-February-2018 to 25-May-2018.
I'll edit this README every day when I'll finish working for that day.

| Day | Project Name | What I learned/did | Link |
|----------|--------------|----------------------------------------------------------------------|-------------|
| Day001
14/02/2018 | Blog App | How to customize the way models are displayed in admin panel. Creating model Managers. How to create canonical URLs for models. How to add django's build in pagination. How to create class based view. Creating form. | [Blog App](https://github.com/akashgiricse/100DaysOfDjango/tree/master/BlogApp) |
| Day002
15/02/2018 | Blog App | Difference between Form and ModelForm. More template tag (like {% with %} etc.). Many-to-one relationship. | [Blog App](https://github.com/akashgiricse/100DaysOfDjango/tree/master/BlogApp) |
| Day003
16/02/2018 | Blog App | I learned how to integrate third party app to the project. I used **[taggit](https://github.com/alex/django-taggit)** third-party Django tagging application. Build complex QuerySets to retrieve objects by similarity. More template tags practice. | [Blog App](https://github.com/akashgiricse/100DaysOfDjango/tree/master/BlogApp) |
| Day004
17/02/2018 | Blog App | Learned how to use custom tempate tags. | [Blog App](https://github.com/akashgiricse/100DaysOfDjango/tree/master/BlogApp) |
| Day005
18/02/2018 | Blog App | More practice on custom template tags. Learned how to use simple_tag, inclusion_tag, assignment_tag. How to use custom template filters, I used Markdown tempate filter. | [Blog App](https://github.com/akashgiricse/100DaysOfDjango/tree/master/BlogApp) |
| Day006
19/02/2018 | Blog App | Learned how to add a sitemep and it's importance to a site. How to configure and add RSS feed to the site. Started working on adding a search engine with Solr and Haystack | [Blog App](https://github.com/akashgiricse/100DaysOfDjango/tree/master/BlogApp) |
| Day007
20/02/2018 | Blog App | Revisited every concept used in this blog. I'll implement search engine after some time, so that I can revisit this project again. The next project is a Social media clone project. Will fix the two errors in the revision. | [Blog App](https://github.com/akashgiricse/100DaysOfDjango/tree/master/BlogApp) |
| Day008
21/02/2018 | Social Website | Learned how to use Django authentication framework. How to create login view and setting up the urls and template for the login. | [Social Website](https://github.com/akashgiricse/100DaysOfDjango/tree/master/SocialWebsite) |
| Day009
22/02/2018 | Social Website | Learned how to use Django authentication views, how to create login/logout view. | [Social Website](https://github.com/akashgiricse/100DaysOfDjango/tree/master/SocialWebsite) |
| Day010
23/02/2016 | Social Website | Learned how to use Django authentication views and to implement them in templates. How to set static files path in django setting file. | [Social Website](https://github.com/akashgiricse/100DaysOfDjango/tree/master/SocialWebsite) |
| Day011
24/02/2018 | Social Website | More django authentication views practice. | [Social Website](https://github.com/akashgiricse/100DaysOfDjango/tree/master/SocialWebsite) |
| Day012
25/02/2018 | Social Website | Learned how to Change password and Reset password using django's inbuild authentication views. How to get a password reset link in the consol. | [Social Website](https://github.com/akashgiricse/100DaysOfDjango/tree/master/SocialWebsite) |
| Day013
26/02/2018 | Social Website | Learned how to design registration page using django. How to validate user_registration form and render user objects in templates. | [Social Website](https://github.com/akashgiricse/100DaysOfDjango/tree/master/SocialWebsite) |
| Day014
27/02/2018 | Social Website | How to manage static Media file, how to extend user model to define our own fields and how to link them with build in user model. User of [Pillow](https://pillow.readthedocs.io/en/latest/) module for handling Images in django. | [Social Website](https://github.com/akashgiricse/100DaysOfDjango/tree/master/SocialWebsite) |
| Day015
28/02/2018 | Social Website | How to use custom User model. How to display messages using message framework. How to build a custom authentication backend. How to add social authentication to the site (i.e. Twitter, Google etc) | [Social Website](https://github.com/akashgiricse/100DaysOfDjango/tree/master/SocialWebsite) |
| Day016
01/03/2018 | Social Website | More practice on authentication, read docs. | [Social Website](https://github.com/akashgiricse/100DaysOfDjango/tree/master/SocialWebsite) |
| Day017
02/03/2018 | Social Website | To create basic Image model. When and why create Index in database. Creating ManyToMany relationship | [Social Website](https://github.com/akashgiricse/100DaysOfDjango/tree/master/SocialWebsite) |
| Day018
03/03/2018 | Social Website | Validating extentions in form. How to use urllib module to download image | [Social Website](https://github.com/akashgiricse/100DaysOfDjango/tree/master/SocialWebsite) |
| Day019
04/03/2018 | Social Website | Learned basics of jQuery. No contribution to the project. | [Social Website](https://github.com/akashgiricse/100DaysOfDjango/tree/master/SocialWebsite) |
| Day020
05/03/2018 | Social Website | Practiced JavaScript. | [Social Website](https://github.com/akashgiricse/100DaysOfDjango/tree/master/SocialWebsite) |
| Day021
06/03/2018 | Social Website | Practiced JavaScript. How to implement javascript in template. How bookmarklet works | [Social Website](https://github.com/akashgiricse/100DaysOfDjango/tree/master/SocialWebsite) |
| Day022
07/03/2018 | Let's Quiz | Paused working on Social Website and started contributing to my personal project [Let's Quiz](https://github.com/akashgiricse/lets-quiz/). P.S. I did not update this readme for 6 days, updating all at once till date 12/03/2018 | [Let's Quiz](https://github.com/akashgiricse/lets-quiz/) |
| Day023
08/03/2018 | Let's Quiz | Mainly worked on front-end. Learned how to use third party utility for login/logout/registration. I used [django-bootstrap4](http://django-bootstrap4.readthedocs.io/en/latest/) for the same. Also how to server static files in django app. | [Let's Quiz](https://github.com/akashgiricse/lets-quiz/) |
| Day024
09/03/2018 | Let's Quiz | Learned how to write documentation. How to customize django admin login page. | [Let's Quiz](https://github.com/akashgiricse/lets-quiz/) |
| Day025
10/03/2018 | Let's Quiz | Worked on some test cases. For example if user is logged in, he/she should not be able to see registration/signup page again if he/she navigate to the signup page manually in url bar of the browser. And learned how to style forms in template using [django-crispy-forms](http://django-crispy-forms.readthedocs.io/en/latest/). | [Let's Quiz](https://github.com/akashgiricse/lets-quiz/) |
| Day026
11/03/2018 | Let's Quiz | Learned how to design custom error 404, 500 page in django. | [Let's Quiz](https://github.com/akashgiricse/lets-quiz/) |
| Day027
12/03/2018 | Let's Quiz | Learned web scraping basics, working with JSON files. And how to integrate everythink together, i.e. python, json, scrapped data etc. Revisited "working with files in python" | [Let's Quiz](https://github.com/akashgiricse/lets-quiz/) |
| Day028
13/03/2018 | Let's Quiz | Wrote a script for getting address data using Google API. Learning web scraping so that I can use it to crawl quiz data from other site to lead it into my site | [Link for work](https://github.com/akashgiricse/ScriptsUsingPython/tree/master/GetAddressDataUsingGoogleAPI) |
| Day029
14/03/2018 | Let's Quiz | More web scraping practice, wrote script for finding currency value of other country in terms of USD. More JSON reading/writing data practice.| [Link for work](https://github.com/akashgiricse/ScriptsUsingPython/tree/master/CurrencyValueFinderAPI) |
| Day030
15/03/2018 | Let's Quiz | How to define our own custom user model. How to use build in django user model to let the user edit his profile info. How to deal with media files. | [Let's Quiz](https://github.com/akashgiricse/lets-quiz/) |
| Day031
16/03/2018 | Let's Quiz | More web scraping practice. | [Link for work](https://github.com/akashgiricse/ScriptsUsingPython/tree/master/1.HelpMaterial/BeautifulSoutAndRequests/ScrapeCoreyMS.com) |
| Day032
17/03/2018 | Let's Quiz | Finished first three chapters of Two Scoops of Django. Learned what is the importance of PostgreSQL over SQLite3, learned importance of virtualenv, virtualenvwrapper, version control in more detail. Learned how to lay out Django projects in chapter 3. | N/A |
| Day033
18/03/2018 | Blog App | Worked on front-end. | [Blog App](https://github.com/akashgiricse/100DaysOfDjango/tree/master/BlogApp) |
| Day034
19/03/2018 | Let's Quiz | Finished chapter 4,5 of Two Scoops of Django. Learned how to configure multiple settings files and what is importance using multiple settings files. | N/A |
| Day035
20/03/2018 | Let's Quiz | Started chapter 6 of Two Scoops of Django. Learned type of model inheritance i.e. [Abstract base classes](https://docs.djangoproject.com/en/1.11/topics/db/models/#abstract-base-classes), [Multi-table inheritance](https://docs.djangoproject.com/en/1.11/topics/db/models/#multi-table-inheritance) and [Proxy models](https://docs.djangoproject.com/en/1.11/topics/db/models/#proxy-models). | N/A |
| Day036
21/03/2018 | Let's Quiz | Studied how to design an efficient Model in Django, Database Migrations, [Relational Database Design/Normalization](https://en.wikibooks.org/wiki/Relational_Database_Design/Normalization), Model Managers. | N/A |
| Day037
22/03/2018 | Let's Quiz | Finished chapter 6 of Two Scoops of Django. Started chapter 7 i.e. Queries and Database Layer | N/A |
| Day038
23/03/2018 | Let's Quiz | Read more of chapter 7 of Two Scoops of Django. | N/A |
| Day039
24/03/2018 | Let's Quiz | Finished chapter 7 of Two Scoops of Django. | N/A |
| Day040
25/03/2018 | Twitter Clone | Started new project | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day041
26/03/2018 | Twitter Clone | Learned how to setup settings, server static files, integrate Bootstrap | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day042
27/03/2018 | Twitter Clone | Started chapter 8 of Two Scoops of Django. | N/A |
| Day043
28/03/2018 | Twitter Clone | Types of model fields. Naming of Model Class and fields. auto_now vs auto_add_now date field. | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day044
29/03/2018 | Twitter Clone | Correct way to connect user with a model using ForeignKey. Chapter 8th of Two Scoops of Django continued. | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day045
30/03/2018 | Let's Quiz | Worked on some admin permissions and static files configuration | [Let's Quiz](https://github.com/akashgiricse/lets-quiz/) |
| Day046
31/03/2018 | Twitter Clone | Worked on class based view, render querset to template and query database | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day047
01/04/2018 | Twitter Clone | Practice regex in python. How to add dynamic url in django and get context data in class based view. | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day048
02/04/2018 | Twitter Clone | More practise on dynamic url and function based view. | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day049
03/04/2018 | Twitter Clone | Form validation, Validation in models, Designing custom validation functions in model or in different file i.e. validators.py. CreateView. | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day050
04/04/2018 | Twitter Clone | More Two Scoops of Django reading today.| N/A |
| Day051
05/04/2018 | Twitter Clone | Worked on more class based views i.e CreateView. User validation and Login required mixins| [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day052
06/04/2018 | Twitter Clone | More reading. | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day053
07/04/2018 | Twitter Clone | Worked on Reverse URLs, UserOwnerMixins. And finished final stage of CRUD i.e. TweetDeleteView | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day054
08/04/2018 | Twitter Clone | Worked on Searching content by adding search form in template. Read Q lookups | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day055
09/04/2018 | Twitter Clone | Worked on template inheritance. | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day056
10/04/2018 | Twitter Clone | Finished chapter 8 of Two Scoops of Django. | N/A |
| Day057
11/04/2018 | Twitter Clone | Worked on front-end mainly i.e bootstrap containers, columns and navigation.| [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day058
12/04/2018 | Twitter Clone | Worked on forms to GET/POST requests. | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day059
13/04/2018 | Twitter Clone | Only reading today. | N/A |
| Day060
14/04/2018 | Twitter Clone | Worked on fron-end and third party apps for front-end, created some basic tests for our database. | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day061
15/04/2018 | Twitter Clone | Started working with Django-REST framework. Created first api for getting tweet list. | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day062
16/04/2018 | Twitter Clone | More Django-REST framework practice. | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day063
17/04/2018 | Twitter Clone | Started working with Ajax | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day064
18/04/2018 | Twitter Clone | More Ajax practice. | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day065
19/04/2018 | Twitter Clone | Only reading today. Started chapter 9 of Two Scoops of Django. | N/A |
| Day066
20/04/2018 | Twitter Clone | Chapter 9 continued. | N/A |
| Day067
21/04/2018 | Twitter Clone | Finished chapter 9. Started chapter 10 i.e "Best Practices for Class-Based Views" | N/A |
| Day068
22/04/2018 | Twitter Clone | Chapter 9 continued. | N/A |
| Day069
23/04/2018 | Twitter Clone | Implemented jQuery for searching, parsing and listing the tweets. | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day070
24/04/2018 | Twitter Clone | Finished chapter 9. | N/A |
| Day071
25/04/2018 | Twitter Clone | Started chapter 10 | N/A |
| Day072
26/04/2018 | Twitter Clone | More chapter 10 reading. Read about Django CBVs, GCBVs. | N/A |
| Day073
27/04/2018 | Twitter Clone | Finished chapter 10. Started chapter 11 i.e Common Patterns for Forms | N/A |
| Day074
28/04/2018 | Twitter Clone | Started chapter 11 i.e. common patterns for form. | N/A |
| Day075
29/04/2018 | Twitter Clone | More chapter 11 reading this day. Finished the chapter also.| N/A |
| Day076
30/04/2018 | Twitter Clone | Started chapter 12 i.e. Forms Fundamentals | N/A |
| Day077
01/05/2018 | Twitter Clone | Finished chapter 12. Learned how to protect form data. Error handling in form. Forms widgets. | N/A |
| Day078
02/05/2018 | Twitter Clone | Read about templates in chapter 13 of Two scoops of Django. Read about template architectrue, quiries in templates etc. | N/A |
| Day079
03/05/2018 | Twitter Clone | More teplate practices, read about Template Inheritance and other useful stuff related to templates. | N/A |
| Day080
04/05/2018 | Twitter Clone | Started reading about template tags and filters | N/A |
| Day081
05/05/2018 | Twitter Clone | Finished chapter 14. | N/A |
| Day082
06/05/2018 | Twitter Clone | Started chapter 15 i.e. Django Templates and Jinja2 | N/A |
| Day083
07/05/2018 | Twitter Clone | Finished chapter 15| N/A |
| Day084
08/05/2018 | Twitter Clone | Started working with REST APIs | N/A |
| Day085
09/05/2018 | Twitter Clone | Worked with JQuery form, Ajax and CreateAPI view | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day086
10/05/2018 | Twitter Clone | Read about REST API Architecture, Remote Procedure Calls vs REST API etc. Finished chapter 16. | N/A |
| Day087
11/05/2018 | Twitter Clone | Started chapter 17 i.e. Consuming REST APIs. | N/A |
| Day088
12/05/2018 | Twitter Clone | Read about AJAX and the CSRF Token improving JavaScript Skills | N/A |
| Day089
13/05/2018 | Twitter Clone | Started chapter 18 i.e. Tradeoffs of Replacing Core Components | N/A |
| Day090
14/05/2018 | Twitter Clone | Worked with API, learned how to add timestamp, timesince etc in API and retrieve it in template | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day091
15/05/2018 | Twitter Clone | Finished chapter 18, started chapter 19. | N/A |
| Day092
16/05/2018 | Twitter Clone | More Ajax practice, Attach Tweet and Empty form. | [TwitterClone](https://github.com/akashgiricse/TwitterClone) |
| Day093
17/05/2018 | Twitter Clone | Finished chapter 19. Started chapter 20 i.e. Dealing with the User Model | N/A |
| Day094
18/05/2018 | Twitter Clone | Chapter 20 continued. | N/A |
| Day095
19/05/2018 | Django Mail | Created a simple Django app for sending mail using smtp server | [Django Mail](https://github.com/akashgiricse/django_mail) |
| Day096
20/05/2018 | Twitter Clone | Finished chapter 20 | N/A |
| Day097
21/05/2018 | Twitter Clone | Started chapter 21 | N/A |
| Day098
22/05/2018 | Twitter Clone | Finished chapter 21 and started chapter 22 i.e. Testing Stinks and Is a Waste of Money! | N/A |
| Day099
23/05/2018 | Twitter Clone | Finished chapter 22. | N/A |
| Day100
24/05/2018 | 100 Days Complete | Congratulations to myself on completing 100DaysOfDjango challenge ;)
The overall experience was good but I got a little slow in the end. I hope next round of challenge will be more productive than this.
I learned a lot throughout this challenge. I also build a habit to code on the daily basis. I learned what mistakes I made during this challenge which will not be repeated in the next round of the challenge.
If you too want to start this challenge, please visit [#100DaysOfCode Official Website](http://www.100daysofcode.com/) | N/A |
----------
### Screenshots
----------
#### 1. [Blog App](https://github.com/akashgiricse/100DaysOfDjango/tree/master/BlogApp)
**Home page:**
![alt text](Screenshots/BlogApp/Screenshot1.png)

**Detailed view of a post:**
![alt text](Screenshots/BlogApp/Screenshot2.png)

**Now posts have tagging functionality**
![alt text](Screenshots/BlogApp/Screenshot4.png)

**Detailed view of a post with tagging and similar posts functionality**
![alt text](Screenshots/BlogApp/Screenshot3.png)

**List view with custom template tags**
![alt text](Screenshots/BlogApp/Screenshot5.png)

**Homepage with custom template tags and filters.**
![alt text](Screenshots/BlogApp/Screenshot6.png)

**Homepage with RSS feed subscription link. (RSS feed is functioning as you can see in the RSS extention)**
![alt text](Screenshots/BlogApp/Screenshot7.png)

#### 2. [Social Website](https://github.com/akashgiricse/100DaysOfDjango/tree/master/SocialWebsite)

**Login page**
![alt text](Screenshots/SocialWebsite/Screenshot1.png)

**Login Page (without bootstrap, only using css)**
![alt text](Screenshots/SocialWebsite/Screenshot2.png)

**Dashboard page after login**
![alt text](Screenshots/SocialWebsite/Screenshot3.png)

**Password Reset pages**
![alt text](Screenshots/SocialWebsite/Screenshot5.jpg)

**Auto generated password reset link in consol**
![alt text](Screenshots/SocialWebsite/Screenshot6.png)

**User registration form**
![alt text](Screenshots/SocialWebsite/Screenshot7.png)

**User profile edit form**
![alt text](Screenshots/SocialWebsite/Screenshot_profile_edit.png)

**Messages using django's message framework**
![alt text](Screenshots/SocialWebsite/ScreenshotSuccess.png)
![alt text](Screenshots/SocialWebsite/ScreenshotError.png)

**Social Authentication feature**
![alt text](Screenshots/SocialWebsite/ScreenshotLoginWithTwitter.png)

#### 3. [Let's Quiz](https://github.com/akashgiricse/lets-quiz/)