Giter Club home page Giter Club logo

todo-android's Introduction

Hacktoberfest 2020 with IEEE-VIT โค๏ธ

A simple TODO android app with persistent storage and sorting by deadlines and tags. The language used is Java.

Support open source software by participating in Hacktoberfest and get goodies and a free t-shirt! ๐Ÿ’›

Please check all issues labelled as hacktoberfest to start contributing!

Kindly consider leaving a โญ if you like the repository and our organisation.

Getting Started

  • Fork it.

  • Clone your forked repo and move inside it:

git clone https://github.com/<your-github-username>/<repo-name>.git && cd <repo-name>

  • Checkout to a new branch to work on an issue:

git checkout -b my-amazing-feature

  • Project specific stuff

python something.py

  • Once you're all done coding, it's time to open a PR :) Run the following commands from the root of the project directory:

git add .

git commit -m "A short description about the feature."

git push origin <my-amazing-feature>

Open your forked repo in your browser and then raise a PR to the master branch of this repository!

Contributing

To start contributing, check out CONTRIBUTING.md. New contributors are always welcome to support this project. If you want something gentle to start with, check out issues labelled as easy or good-first-issue. Check out issues labelled as hacktoberfest if you are up for some grabs! :)

License

This project is licensed under MIT.

todo-android's People

Contributors

apol657 avatar souris-dev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

todo-android's Issues

Implement the tag manipulation functions in the TodoTask class

Please describe the feature you want this project to offer
The tag manipulation functions in the TodoTask: removeTag(), addTag(), containsTag() need to be implemented.

Describe the solution you'd like
These tag manipulation functions modify the tags of the TodoTask object.

Describe alternatives you've considered (Optional)

Additional context (Optional)

Implement the `deleteTask()` method in the main activity

Please describe the feature you want this project to offer
The deleteTask() method is called when the "Delete" menu item is tapped. This needs to be implemented.

Describe the solution you'd like
Retrieve the selected todo item from the adapter and delete it from the allTasks list.
Note that these the functions (createNewTask(), deleteTask(), etc.) in the main activity modify only the allTasks list.

Describe alternatives you've considered (Optional)

Additional context (Optional)

Implement the ModifyActivity UI

Please describe the feature you want this project to offer
The ModifyActivity lets an user modify the selected task.

Describe the solution you'd like
The UI should follow Material design guidelines. The UI should contain components to view and change the title, description, deadline, and tags of the task.

Describe alternatives you've considered (Optional)

Additional context (Optional)

Implement the DatabaseHelper's addAllTasks() and removeTasks() method

Please describe the feature you want this project to offer
The addAllTasks() and removeTasks() methods need to be implemented.

Describe the solution you'd like
The addAllTasks() method adds all the tasks in the passed list to the database. The previous records in the database have to be deleted before that, (in case some tasks were updated) which is done by the removeTasks() method.
These functions interact directly with the SQLite database.

Describe alternatives you've considered (Optional)

Additional context (Optional)

Implement the CreateActivity UI

Please describe the feature you want this project to offer
The CreateActivity is used to create a new todo task. The UI for this needs to be implemented.

Describe the solution you'd like
The UI should follow Material design guidelines. The UI should include components to input the title, details, deadline, and tags from the user for the todo task.

Describe alternatives you've considered (Optional)

Additional context (Optional)

Implement the onCreate() method of DatabaseHelper

Please describe the feature you want this project to offer
The onCreate() method of the DatabaseHelper needs to be implemented. This function creates the tables in the database.

Describe the solution you'd like
Create the tables in the database (tasks table and tags table) by directly interacting with the SQLite database.
Also, the column names and database file name need to be entered.

Describe alternatives you've considered (Optional)

Additional context (Optional)

Implement the RecyclerView Adapter

Please describe the feature you want this project to offer
The RecyclerView Adapter that displays the todo items in the Main Activity should be implemented.

Describe the solution you'd like
The Adapter should ensure that the items are single-selectable (i.e., one of the items on long press will be selected and only one item should be selected at a single time). When an item is selected, a tick symbol should appear beside it.

Describe alternatives you've considered (Optional)

Additional context (Optional)

Implement the Main Activity UI

Please describe the feature you want this project to offer
It would be great if the Main Activity UI could be made.

Describe the solution you'd like
Follow material guidelines to make a simple UI, with a RecyclerView and a FAB to add new TODO items.
The RecyclerView or the itemViews may be tweaked for better UI.

Describe alternatives you've considered (Optional)

Additional context (Optional)

Implement the Main Activity app logic for creating a new task

Please describe the feature you want this project to offer
The logic in Main Activity to create a new task should be implemented.

Describe the solution you'd like
Use CreateActivity to create a new todo task. This issue handles the main activity part of the code.
Note that these the functions (createNewTask(), deleteTask(), etc.) in the main activity modify only the allTasks list.

Describe alternatives you've considered (Optional)

Additional context (Optional)

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.