- It is perfectly fine if you have no experience in the field and trying it out for the first time. Please put in sincere efforts!
- Each Task has a ID, tags, mentor, description, tips and useful resources
- Mention the Task ID in README of your private GitHub repository.
Mentor: @mananpoddar (+91 9113536695)
Tag: Easy
You must have seen websites using third party authentication. For example, think about how you login these days on almost every website using your google account or facebook or github. Well, the reason being that instead of putting your details manually on the signup page, it's obvious to use this way as it's fast and just one click away.
Your task is to make a single web page having OAuth from one of the OAuth providers. After a user logs in, there should be another page to display the basic user detail provided by the OAuth provider.
- https://developers.google.com/identity/sign-in/web/
- https://realpython.com/flask-google-login/
- https://www.tutorialspoint.com/html/index.htm
- https://www.tutorialspoint.com/css/index.htm
- https://www.tutorialspoint.com/javascript/index.htm
- Try to host this on your laptop or any suitable cloud service
- If you implement third party authentication using all three namely google, facebook and github you will get bonus points.
Mentor: @mishal23 (+91 9725801399)
Tag: Easy
Have you seen bot application chatting with you like google assistant? Well, there are pretty simple ways for making applications like slack bot which sends message to slack organization.
- Your task is to create a bot to list the lyrics of a song when a user types the song name in the workspace channel.
- Feel free to imagine any other use-case, validate the idea from the mentor before proceeding ahead.
Note: Feel free to create a dummy workspace in slack for the purpose
- https://slack.com
- https://get.slack.help/hc/en-us/articles/115005265703-Create-a-bot-for-your-workspace
- https://github.com/Techcatchers/PyLyrics-Extractor
- If you have any similar idea, go ahead and implement that as well, it will fetch bonus points for you.
Mentor: @prajwal (+91 9632721417)
Tag: Medium
You must have heard about chatbot! So,in this Task, we want you to implement a chatbot in an android app.The chatbot should able to reply to greeted messages('Hi', 'Hello',etc) and also few custom messgaes.Try to store the history of the chat in firebase database. We recommend you to use DialogFlow.
- https://dialogflow.com/docs
- https://developer.android.com/training/volley
- https://github.com/dialogflow/dialogflow-android-client
- Try to maintain a clean and understandable code.
- Bonus Points for good UI and bug free app.
Mentor: @utkarsh23 (+91 9008791852)
Tag: Hard
Create a Blazor application that can fetch upto a million records using lazy loading. You can use this dataset or any other dataset of your choice consisting of a million records and atleast five attributes. Try and implement lazy loading on your own without using any library. Specifics like how many records to load per scroll event must be chosen in a manner that provides the best user experience.
- https://docs.microsoft.com/en-us/aspnet/core/blazor/?view=aspnetcore-3.0
- https://learn-blazor.com/
- Lazy loading example: https://scrollmagic.io/examples/advanced/infinite_scrolling.html
- You get bonus points for hosting onto a cloud service (Azure definitely has support for this).
Mentor: @SaurabhAgarwala (+91 8415859101)
Tag: Hard
Basic Requirement: Create a Survey web application using any backend framework which will have a few questions (atleast 5) along with few options (atleast 3 for each question), and should load dynamically using jQuery. When the survey is completed by an individual, then show the aggregate result of the survey until that time. The app should have a decent UI, and a smooth-flow across various parts of the survey and the results. There should also be authentication of the user and hence restricting a particular user to take the survey only one time.
Additional Tasks: Extending the above application to let registered users create their own survey, select the respondents among the registered users thus restricting access to the survey for others and adding chained-comments features on the result page of each particular survey.
- https://docs.djangoproject.com/en/2.2/intro/tutorial01/
- https://www.youtube.com/watch?v=H5aVejBcM8k&list=PLB5jA40tNf3vkj5O2NCwMbDZo0Q8GV5Fn&index=1
- https://docs.djangoproject.com/en/2.2/topics/auth/default/#user-objects
- https://tutorial-extensions.djangogirls.org/en/homework_create_more_models/*
- https://www.w3schools.com/jquery/ajax_get.asp
- You get bonus points for hosting onto a cloud service (AWS,Azure,etc)
- Any other relevant innovative idea related to the task from your side will also fetch you merit points
- The task involves a lot of things, thats why it is classified as hard. But each individual part is not that difficult and plenty of resources are available online to get through it. Try completing as many parts as possible.
Mentor: @omkarprabhu-98 (+91 8097366786)
Tag: Hard
The task is to create a Android Application for capturing the amount on a bill.
- A user uses the app to capture the amount on the bill.
- After which, the user should be presented with the option to save the captured amount and add a title which can be associated with the spending.
- After succesfully saving this information, the user should be presented with the list of such saved information.
So the task can be broken down into two parts:-
- Recognizing the amount on the bill.
- Storing and presenting the information captured.
Please refer the resources section for helpful hints
- Bonus points for applying Material Theming in your app design
- Getting started with Android: https://developers.google.com/vision/introduction
- Mobile Vision API: https://developers.google.com/vision/android/getting-started
- Material Theming: https://material.io/design/material-theming/overview.html#
- Recycler View: https://developer.android.com/guide/topics/ui/layout/recyclerview
- Courses: https://www.udacity.com/course/android-basics-multiscreen-apps--ud839. Also checkout related one's here on Udacity.
Mentor: @harshprakashgupta (+91 7898578609)
Tag: Medium
Create a chrome extension which can access the user's location and display current weather situation which can include various factors like temperature, wind, pressure, humidity, etc. Participants can use the geolocation api to access the user's location and openweather api to get the weather information. Also bonus points to participants who can use the 5 day openweather api to show weather information of a particular city for 5 days.
- Points will also be given for the user interface (UI) of the extension, so also try to improve the design of the extension.
- Getting started with chrome extensions: https://developer.chrome.com/extensions/getstarted
- Getting started with openweather api: https://openweathermap.org/appid
- Openweather 'current' api documentation: https://openweathermap.org/current
- Openweather 'forecast5' api documentation: https://openweathermap.org/forecast5
- Geolocation demo : https://www.youtube.com/watch?v=KSf417F3ui0
Mentor: @vansjyo (+91 9611591432)
Tag: Medium
The task is to create a Wep app which can do the following:
- A user uploads a photo (you can set max size of image, format of image, etc). Even fetching image from URL will do.
- The image is displayed on a canvas in the web app on the same page, or after redirecting to the next page, whatever seems confortable.
- Atleast 3 editing options like Brightness, Saturation and Contrast should be provided using either a range type input, or number input box, whatever seems confortable.
- The web app can have a basic layout, no fancy UI required.
- Bonus points for clean UI layout, code structure and number of ways provided to upload image.
- Further enhancements can be added as per your wish.
- Refer given resources, or others that serve similar purpose. Anything other than
CamanJS
can also be used.
- https://www.w3schools.com/html/html_css.asp
- https://www.w3schools.com/jquery/default.asp
- https://www.w3schools.com/tags/canvas_drawimage.asp
- https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Using_images
- http://camanjs.com/
Mentor: @bordia98 (+91 9611590381)
Tag: Easy-Medium
Designing and creating webclub website. The task involves designing the website and making it more user friendly. This task will require the use of basic HTML/CSS/Javascript.
The website is divided into 5 sections:
- index.html : Home page
- Projects section - Page for the projects done in past and ongoing projects
- Team - Page displaying the members of clubs
- Events - Details of events conducted by the club throughout the year
- Contests - Details of the contest held by the club throughout the year
What we expect from You:
- choose any one page (say projects section) and design it's UI on photoshop.
- Implement the design from photoshop using html, css and javascript. (You are allowed to use any libraries you want:P)
- You are allowed to choose only ONE section(say projects section).
- Your designing skills on photoshop are equally important as Implementation for fetching you good score in this task.
- Host it on github page.
For your reference you can checkout the previous version of website https://webclub-nitk.github.io/
You can pull the branch for the required structure for the website. You can go in branches section and pull the website
branch here.
- You can use github pages to host your site.
- Bonus points for designing the page using Photoshop and then developing it.
- Points will be awarded if you complete individual sections also.
- HTML Tutorials : https://www.tutorialspoint.com/html/index.htm
- CSS Tutorials : https://www.tutorialspoint.com/css/index.htm
- JS Tutorials : https://www.tutorialspoint.com/javascript/index.htm
- Github Pages: https://medium.com/@erickcodes/creating-and-deploying-a-static-website-using-github-pages-a634a588ed7d
Mentor: @NishanthSubramanian (+91 8197845078)
Tag: Medium-Hard
To build an app that consists of a server and a client. The server can be written in NodeJS, Python, Ruby or any language/runtime of your choice. The client is a single HTML webpage, which can be opened directly in the browser. The page uses the HTML5 WebSocket spec to connect and stream data to and from the server in real-time. Preferably use plain javascript for the web socket front end. Each client connects to the server and each client should be able to view the real time connections of all clients connected at that point.
Example
- Maintain understandable code.
- Bonus points for making the application cross-browser compatible.
- WebSockets tutorial : https://www.html5rocks.com/en/tutorials/websockets/basics/
- Using Websockets : https://www.beautifulcode.co/blog/54-an-introduction-to-websocket
- NodeJS : https://nodejs.org/en/docs/