CollegeDiveIn presentation
-
Upload
karambir-singh-nain -
Category
Documents
-
view
252 -
download
0
description
Transcript of CollegeDiveIn presentation
![Page 1: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/1.jpg)
CollegeDiveInmaking college life more social
![Page 2: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/2.jpg)
Team
■ Karambir Singh Nain
■ Mayank Jain
■ Aksh Vashishth
■ Mohit Moudgil
■ Naman Sharma
![Page 3: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/3.jpg)
What we will discuss
■ Introduction■ Architechture■ Timeline■ Working■ Deployment■ Experience
![Page 4: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/4.jpg)
Introductionwhat is project about
![Page 5: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/5.jpg)
Aim of the Project
■ becoming de-facto destination for college students
■ taking pain of marketing from Event Organisers
■ creating a common platform for students, organisers and Brands
![Page 6: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/6.jpg)
What we offer now:
■ event listings on basis of:○ Popularity○ Campuses○ Types
■ academics notes available to download■ platform for college news/blog■ college representatives can add, update
college events, notes
![Page 7: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/7.jpg)
Some stats
■ more than 2000 monthly visitors
■ have Alexa ranking of 65000 in India
■ more than 100 events listed in less than 2
months
■ notes downloaded 950 times
■ is online media partner for Oasis - Cultural
fest of BITS pilani
![Page 8: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/8.jpg)
Architecturewhat and how we use softwares
![Page 9: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/9.jpg)
Our Software Stack
■ Web Server - Nginx with Gunicorn■ OS - Linux (debian)■ Programming Language - Python■ Web Framework - Django■ Database - PostgreSQL■ Other Dependencies - Git, pip, Twitter Bootstrap,
JQuery, Facebook Graph API.
![Page 10: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/10.jpg)
Why Linux and Nginx?
■ Linux: ○ Customizable (open source)○ Free○ Easy Integration○ Availability
■ Nginx:○ Lightweight○ Serve Static files faster than Apache○ Integrate with Python WSGI easily
![Page 11: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/11.jpg)
Python!!! No PHP?
■ we love Python■ PHP is from Iron Age of Internet■ writing PHP is like writing static site:
○ with every page we see, there is one PHP file attached
■ python is more Dynamic■ work as expected (unlike PHP)
![Page 12: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/12.jpg)
What is Django
■ is a Python Web-Framework■ is not like Wordpress or CMS■ makes web-app development pleasurable
![Page 13: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/13.jpg)
Django More...
■ Models○ Database - store data○ Integrate with SQLite, MySQL, PostgreSQL, Oracle○ Have its on database API
■ Template○ highly customizable templating language○ differentiate logic from presentation
■ Views○ python functions to respond tp requests○ handle what visitor see
![Page 14: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/14.jpg)
Git and pip
■ Git○ is a distributed revision control○ keep us in sync○ full control over code
■ pip○ manages python packages○ switching between development and production
makes easy
![Page 15: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/15.jpg)
Timelinewhat was done when
![Page 16: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/16.jpg)
Planning Phase April '12
■ brainstormed and discussion on ideas■ coming up with this■ discussion about core features■ made diagrams and wireframes of app
![Page 17: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/17.jpg)
Initial Dev May '12
■ made html mockups ■ discussed softwares to use■ started with learning Django
○ two of knew python previously, so started django○ others started with python
■ two weeks, we produced a crude■ tested it a bit ■ Released Alpha Version
![Page 18: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/18.jpg)
Development Phase June '12
■ rethink about core idea■ focused fully on college events■ started fresh with Django■ made PostgreSQL database ourself■ redesigned with Bootstrap■ released version 1.0 on Heroku
![Page 19: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/19.jpg)
Final Testing July '12
■ made signup for College Representatives■ included JQuery and other JavaScript■ bugs for older browsers fixed■ made available for mobile browsers
![Page 20: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/20.jpg)
Workinghow it all works
![Page 21: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/21.jpg)
Code Structure
■ manage.py■ wsgi.py■ settings.py■ urls.py■ views.py■ home app
○ models.py○ views.py○ admin.py
■ static files■ templates
![Page 22: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/22.jpg)
Life of a Request
GunicornNginx
manage.py
urls.pyviews.py
1 2
3
4
5
7
8
Templates
andDatabase
6
![Page 23: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/23.jpg)
Inside working - Urls.py
■ urls.py > gate keeper and receptionist■ decides which function to call for request■ uses Regular Expressions■ raises 404 error if no match found■ can call templates directly■ have nothing to do with request type(GET or
POST)■ passes extra parameters to view function
![Page 24: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/24.jpg)
Inside working - Views.py
■ are simple python functions■ have all the function for app■ check request type and process it■ can query database if needed■ can generate html, css, image, pdf, xml, json
output
![Page 25: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/25.jpg)
Inside working - Models.py
■ defines database for app■ uses python classes to represent db tables■ python method makes them more useful■ gives db-api to query database in pythonic
way
![Page 26: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/26.jpg)
Inside working - Templates
■ mini-language for defining the user-facing layer of app
■ separate logic and presentation
Steps:■ receives input from views as data■ fill its file with data■ import another templates if any■ send back output to view function for display
![Page 27: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/27.jpg)
Where is Nginx here?
■ with help from gunicorn and wsgi.py, changes request in format python can understand
■ serve static files■ store logs for errors and history
![Page 28: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/28.jpg)
Deploymenthow application goes live
![Page 29: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/29.jpg)
Heroku for hosting
■ heroku provides deployment with git■ just one command and application deployed
git push heroku master
■ uses procfile for settings
web: gunicorn cdi.wsgi -b 0.0.0.0:$PORT
![Page 30: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/30.jpg)
Experiencewhat we learn from all this
![Page 31: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/31.jpg)
Technical learning
■ Python - widely used language in:○ mathematics○ scientific computing○ servers○ scripting○ game development○ desktop and web apps
■ Django - a framework for perfectionists with deadlines○ simple to learn○ can develop large scale application○ secure and robust
![Page 32: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/32.jpg)
Entrepreneurial learning
■ what it takes to run Web App■ marketing a product■ managing users and people■ talking with companies and organizations ■ team work
![Page 33: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/33.jpg)
Any Questions?
CollegeDive.InbyCodesters Group
![Page 34: CollegeDiveIn presentation](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7b0304a7959bf688b4589/html5/thumbnails/34.jpg)
Thank You