YMtL is a full stack web application that allows logged in users to:
- Create a task
- Edit a created task only by the posting user
- Delete a created task only by the posting user
- View tasks by due date
- Create a list of tasks
- Edit a list of tasks only by the posting user
- Delete a list of tasks only by the posting user
- View a list of tasks by topic
- View a summary list of task by total tasks, due tasks, and completed tasks
- Search tasks by keyword
YMtL is built with Flask backend and React frontend. Postgres is also used as a database.
YMtL uses React to generate the HTML elements, and then we use CSS to handling the styling of those elements.
- Javascript
- React
- Redux
- CSS
We used a Flask server to handle the backend communication. We used PostgreSQL for our database and manipulated the aforementioned with SQLAlchemy.
- Python
- Flask
- SQLAlchemy
- PostgreSQL
User authorization is handled using Flask password hashing. When users log in, the password they provide is rehashed and checked against the original password.
An authorized user can create a task under a list that can then be seen by any logged in user. Only the authorized user may then edit or delete the created task.
A user can search tasks by keyword in the search bar. The search will generate tasks found by keyword.
A user can view lists by topic . A user can click on a list that will generate the tasks within that list. A list summary will generate an indication of tasks within that list, tasks due, and tasks completed.
An authorized user may create a list. Only the authorized user can then edit or delete a list.
We are happy with the functionality and the styling. However, we would have like to implement the two bonus features of subtasks and an autocomplete.