Coder Social home page Coder Social logo

schleepy401 / quotesapp-jwoc Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 4.0 1.74 MB

Android + Kotlin app project for JGEC Winter of Code 2022 Edition

Kotlin 100.00%
jwoc jwoc2k22 jwoc-2k22 android android-app android-studio kotlin kotlin-android hackathon hackathon-project

quotesapp-jwoc's Introduction

QuotesApp-JWoC

Android + Kotlin Project for the 2022 edition of the Open Source Contribution competition, JGEC Winter of Code aka JWoC.

๐ŸŽฏ Project Objective

We would be building an app to display random quotes fetched using my own quotescraper API from scratch via this project, block by block and with additional cool features.

This project is aimed to get the mentees accustomed with the ins and outs of basic Android development.

The major focus here would be

  • ๐Ÿ“ฑ Good UI/UX: Focusing over Functionality and Form alike.
  • โš™๏ธ Activity handling: Exploring more about the core of android apps, activities.
  • ๐ŸŒ API integration: Learning how to utilise an internet hosted data source, such as an API, and extract the required information to put to use in the app.

โ›” Issues

Please head over to this link or click on the issues section above.

The issues are tailored around the aforementioned objectives for now, and are suited for beginners in the world of android development and first-time contributors, as well as experienced android developers alike.

As the project progresses we would be tackling better and more difficult problems along the way. ๐Ÿ’ช๐Ÿฟ

๐Ÿ‘พ Tech Stack

Our tech stack is gonna be Android Studio, and Kotlin.

Yep, basic Git skills are a must too ๐Ÿคท๐Ÿฟโ€โ™‚๏ธ

โ“ How to contribute?

  • The issues are to be solved only by JGEC Winter of Code participants. PRs of non-participants AND ones going against the event criteria won't be entertained.
  • Any PRs made before 1st February 2022 are INVALID.
  • Select an issue and request for working on the same.
  • Issues would be assigned on a first-come-first-serve basis (or a queue structure for people who have studied some DSA). After the issues have been assigned,
  • Fork the repository to your GitHub account. (Use the fork button at the top of the page!)
  • Clone the repository onto your local system by using the instructions given below.
  • Make the requisite changes and then Create a Pull Request.
  • The PR should be made in a branch named as your GitHub username so that it is easier for us.
  • In the PR message, please explain shortly what changes you made and why. Also include screenshots of the working app.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development, playing and testing purposes. Or whatever you wanna do ;_;

Prerequisites

You should have:

  1. Git CLI
  2. Either Android Studio installed on your system, or
  3. An Android Device running Android version 5.0 or above, or
  4. both.

Installation

  • Method 1: Use this repo itself by clicking here.
You can download the ZIP directly from the above link or from the "Clone or Download" link on the repository's home page
  • Method 2: Use Git bash by typing the below command in your terminal. If you don't have git installed, you can get it from here.
git clone https://github.com/Ly0kami/QuotesApp-JWoC

Running the Project

  • If you chose method 1, you can directly open the project as a ZIP or import it from its gradle settings using Android Studio.
File -> New -> Import Project -> Locate the ZIP and run
  • If you chose method 2,
Android Studio -> New -> Import Project -> Create Project from Gradle -> Locate the git repo directory and click on the name.
  • Just install the APK, duh.

quotesapp-jwoc's People

Contributors

ahamedibrahim2002 avatar connectbhawna avatar manishbajagai2 avatar schleepy401 avatar yellowhatpro avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

quotesapp-jwoc's Issues

Integrate the quotescraper API

Now that we have a good UI to put data in, it's time to actually put the data in.
The challenge here is to extract the required information from the API and display it in the app.
Here's the link to the API and here's the link to the API Docs.

What to do?

  • Please attempt this issue only after the UI issue has been solved, because then only would you be putting in the parsed data from the API in a good UI.
  • The API documentation has the exact same data format as the one we mentioned in the UI issue.
  • Your job is to parse the data from the API, and put it in the UI.
  • Consult the API docs by heading over to the github repo and get accustomed to the data format. We hope you are familiar with JSON, but even if you are not, this can be a great starting point!
  • The most efficient and properly working method of handling the calls and integrating the API here would be accepted.

Code On!

Create an Icon for the app

So much progress on the app, adding new features and everything, but we still need an app icon. Calling all UI/UX people aspiring to make their first contribution!

Add Favourite List of selected Quotes

As a feature to the app, I want to create two fragments - one is the main screen and another is a list showing all the loved quotes to be placed in a Recycler View. I dont know which database to use for performing CRUD operations on the generated list. I created a wireframe for the same. Please review the idea

HomeFavourite
When the user clicks on the love icon, the current quote is added on the list

Add a UI to display a quote and its author.

Once the splash screen is ready, we will move ahead with a simple issue. Just build up a sample UI to display a quote and its author, both of which are texts.
The data source for the quotes would be a part of another issue, but for now, you can just add random quotes from the internet with their authors.

Get your creative juices flowing, and let's see what you people can come up with!
The best looking ones will be merged.

What to do?

  • The data to be displayed is going to be comprised of two parts:

    • Quote: A string.
      Example: "JWoC is Amazing."
    • Author: Another string.
      Example: Sanskar
  • Combining the above two would make something like this:

"JWoC is Amazing." ~ Sanskar

  • You have to find a creative way of displaying the above information in a way that looks good and is user friendly as well. Feel free to use any of the components provided by Android Studio.
  • The best looking one would be accepted.
  • Go ahead, play with components and color schemes!

Design a Splash Screen!

The journey as a developer and Open Source contributor begins here. You are beginning to work on an amazing app, and this is going to be the first screen the user sees. Your task is to design a great looking and attractive splash screen for an app to display quotes.

This is going to be the first issue.

What to do?

  • You have to design a splash screen for the app Maybe an icon if you wanna get more creative.
  • The splash screen should be the first activity to launch as soon as the app is opened.
  • The splash screen should disappear after 3s and then let the main app open.
  • The splash screen should not appear if the app is retained in memory (i.e. not cleared from recent tasks, or exited), and should only appear once it has been relaunched explicitly after clearing from recents and stuff.
  • The best looking one to pass all the above criteria would be merged.

Go ahead, code ahead.
Happy Coding!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.