Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README.md #4

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
163 changes: 6 additions & 157 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,157 +1,6 @@
# CSoC Week-1 Flutter

# Introduction

Flutter - promises cross platform, natively compiled apps, with slick smooth UIs. Developed by Google, the framework is gaining in popularity, especially amongst new startups.

## Single Codebase…like Java?

Flutter’s major selling point is that it allows developers to create mobile apps for Android and iOS using a single codebase. It’s possible to build a Flutter app targeting Android and build the same project on a Mac for iOS devices without changing a single line of code.

Unlike most other mobile app frameworks Flutter does not use WebView nor OEM widgets. Instead, Flutter uses its own rendering engine to draw widgets.

Apps are natively compiled too, so you’ll need a machine with Android SDK installed for targetting Android and you’ll need to be running XCode to build for iOS devices.

# Getting Started

## Installation

Here is how you can install Flutter. Do not install Android Studio right now, this week you do not require it. Read until writing your first flutter app.

[Install](https://flutter.dev/docs/get-started/install)

To use flutter consistently between different terminal sessions, go through this

[Linux install](https://flutter.dev/docs/get-started/install/linux#update-your-path)

Install a suitable IDE. VS Code (compared to Android Studio) is good choice for a light and better experience.

# For Basic Understanding

- [Flutter Widgets - Javatpoint](https://www.javatpoint.com/flutter-widgets)
- [Flutter - Container Cheat Sheet](https://medium.com/jlouage/container-de5b0d3ad184)
- [Flutter Tutorial for Beginners - Build iOS and Android Apps with Google's Flutter & Dart](https://www.youtube.com/watch?v=x0uinJvhNxI)
- [The Flutter Series: Exploring a Flutter project and building your first Flutter app](https://medium.com/@dev.n/the-complete-flutter-series-article-1-exploring-a-flutter-project-and-building-your-first-flutter-e438ea941d70)

- [The Flutter Series: Basic Widgets and Layout](https://medium.com/@dev.n/the-complete-flutter-series-article-2-basic-widgets-and-layout-in-flutter-92a4fbd4a3e1)

Don't forget to switch on USB Debugging on your mobile. (In case you are not using an emulator)

For reference, keep this handy

[Flutter - Dart API docs](https://api.flutter.dev/)

# Challenge

As an aspiring developer, you'd need to keep building things to keep your knowledge on tips. Now that you are good to go with the basics of native Android Development, we want you to build **one of the apps** from the following list on your own.

1. Calculator app
2. Hangman game

**Note** : You have to choose one of them.



### [HANGMAN](https://en.wikipedia.org/wiki/Hangman_(game))



The task that we'll be working over is to build a HANGMAN game, It is a simple word guessing game. The player tries to figure out an unknown word by guessing letters. If too many letters which do not appear in the word are guessed, the player is hanged (and loses).



### Tasks



- **Task 1**: Implement a hangman game. Create a word generator and generate random words in every game.



- **Task 2**: Add a high score page to view the previous scores.



- **Task 3**: Giving hints to users, by showing a few letters when the user needs them. Also, you could give signs when the entered letters are wrong.



- **Task 4:** Make hard and easy mode with say, 5 lives in easy and 3 in hard mode. Also, word length and difficulty could be changed with respective levels. Easy words could have till 5 letters while difficult ones with longer words.



- **Extras:** Adding a timer for making it more interactive and competitive.



### [CALCULATOR](https://en.wikipedia.org/wiki/Calculator)



The objective is that you need to build a Calculator which will perform at least our basic mathematical operations.



### Tasks



- **Task 1**: Create a simple calculator with basic mathematical operations.



- **Task 2**: Add complex operations including exponentiation, logarithms, trigonometry, etc.



- **Task 3:** Add an option to change settings, say from radians to degrees and vice versa, and an option to change the theme of the app.



- **Task 4:** Feature to show a history of previous calculations.



- **Extras:** Add feature for matrix calculations and plotting of simple basic graphs using equations.

You have to provide your Repo and APK File as part of submission

## Points

Here is the breakdown of the points related to each task

| Task | Points |
| :-------: | :-------: |
| Task 1|30|
|Task 2|30|
|Task 3|30|
|Task 4|30|
|Bonus|20|
|**Total**|140|

### **Judging**

The evaluation would be done mainly on the following basis:

1. User Interface and User Experience
2. Authenticity and readability of the code
3. Completion of mentioned tasks
4. Bonus Points for implementing extra features depending on your creativity😉

Remember, the deadline for this week's task is **June 18th, 2023, 23:59**.

## Submission Guidelines :

Submission has to be done by sharing your github repo link and the .apk file of your application

- Fork and then Clone your repository
- Make a new entry into submissions (Link of your repositor and .apk of the app) as in the comments
- Commit and Push the changes
- Make a Pull request

## Submissions

<!-- - Add you name in below list as -->
<!-- - Your Name - [Repo Name](Link) [APK](APK Link) -->
<!-- - Manash Kumar - [Hangman](https://github.com/SagittariusA11/Hangman) [APK](https://github.com/SagittariusA11/Hangman/blob/master/Hangman.apk) -->

Shashank Shekhar Singh
Mechanical Eng
github : https://github.com/Shashankss1205/Hangman.git
APK: https://github.com/Shashankss1205/Hangman/blob/main/app-armeabi-v7a-release.apk
GoogleDrive LINK(APK): https://drive.google.com/file/d/1D_DeXDyl0-pi3AQnLAm87JEsSwnDfoAg/view?usp=sharing
Folder link: https://drive.google.com/drive/folders/1vhQUP04E33_gb2L_b-Oky2Dqy8pkc2ho?usp=sharing