Giter Club home page Giter Club logo

dayta's Introduction

Dayta

Dayta is a calendar application developed using Tauri, React and Typescript in Vite.

dayta's People

Contributors

betonjeanette avatar mszoezo avatar

Watchers

 avatar

dayta's Issues

Add Ability to Create Events

What is the Problem?

There is no way to create an event to put on the calendar.

Why is this a Problem?

A calendar is kinda useless without being able to list things that are happening on it

What should we do about it?

We need to be able to create an event. The bare minimum would be a title and a start time.

Calendar view for week

What is the Problem?

There is no week calendar view.

Why is This a Problem?

Without a week calendar view, the user cannot see their schedule for the selected week in more detail.

How do We Fix it?

We'll add a calendar view with 7 full height rectangles one for each day of the week with the vertical axis being for time.

Global colour scheme

What is the Problem?

There isn't a global colour scheme using css variables.

Why is This a Problem?

Without a colour scheme it's hard to keep styling consistent and harder to change colours later on when they are referenced in 20 separate style rules.

How do We Fix it?

We'll add colour variables to our global css file, so that every component can reference these in their styling.

General Layout for Viewing Calendar

What is the Problem?

There is no base layout for a calendar.

Why is This a Problem?

It allows users to have a clear distinction in where different UI elements are or will be.

How do We Fix it?

We need a general layout. The proposed layout would be a sidebar for controls, and a main calendar section.

Global dark mode colour scheme

What is the Problem?

There isn't a global dark mode colour scheme using css variables.

Why is This a Problem?

Without a dark mode colour scheme many of our users may be blinded.

How do We Fix it?

We'll add colour variables to our global css file specific for dark mode.

Menu for switching between calendar views

What is the Problem?

There is no calendar view switching mechanism.

Why is This a Problem?

Without this switch mechanism the user can't switch between calendar views,

How do We Fix it?

We'll add a button to our control panel which when clicked slides out a menu with our calendar view options.

Storing settings

What is the Problem?

We aren't storing the users settings.

Why is This a Problem?

Without settings being stored, they are lost when the user exists the app which is unexpected behaviour.

How do We Fix it?

When starting the application we'll send a json object containing our settings from rust to our react front-end. We'll store settings in the front end using react context. Upon changing and saving our settings we'll send them back to rust where we'll save them in an appropriate way for each platform.

Adding scss support

What is the Problem?

With css writing maintainable stylesheets is complicated, the chance of it becoming an intangible mess is high.

Why is This a Problem?

When css becomes unmaintenable it significantly slows down development.

How do We Fix it?

By adding scss support to our project.

Store events in local database

What is the Problem?

Without a database we can't store events.

Why is This a Problem?

The user expects their events to be saved for the next time they use the app, if they were lost it would be one hell of a lousy calendar.

How do We Fix it?

We'll add a database to our rust backend with a schema for events.

Creating a custom titlebar

What is the Problem?

With the default titlebar on each system its hard to keep our style consistent.

Why is This a Problem?

The user expects an uniform look across platforms.

How do We Fix it?

We'll create a custom titlebar component and add it in our app.

Unit Testing

What is the Problem?

We don't have any unit testing yet.

Why is this a Problem?

Unit testing better defines the inputs and outputs for functions that are being used, and ensures that maintenance doesn't break anything.

What should be done to Fix the Problem?

We should add a unit testing framework to our project, and add tests for existing modules

Control Panel Theming

What is the Problem?

The control panel looks bad :3

Why is this a problem?

While function should be the main priority, form should not be ignored. Users don't want to look at a plain screen.

What should be done to Address this Problem?

We should create a theme for the panel. It should be made with other panels in mind, to ensure the app is cohesive.

Switching between layouts

What is the Problem?

We can't switch between layouts.

Why is This a Problem?

Without the ability to switch we can't get to our settings layout and back to the calendar one.

How do We Fix it?

We'll use React Router to switch between our layouts.

Add GitHub Action Support

What is the Problem?

We currently don't perform any checks when creating a pull request (linting, unit tests, etc)

Why is this a Problem?

Right now, this isn't a problem: we don't have unit tests, and as of writing, #21 is still open. There is no need for actions to be run. That said, if we do either, we should ensure that they run as part of the pull request workflow to make sure that the code we are writing isn't going to lead to further issues down the line.

What should be done to Fix this Problem?

If #21 is completed, or if we implement unit tests, we should ensure that they are run by GitHub actions to automatically run when pulls into main are done

Fix Existing Linting Issues

What is the Problem?

We have existing linting issues

Why is this a problem?

By moving #23 and #25 into main, we are now going to get issues related to linting on every branch, regardless of if they have their own linting issues or not, due to the preexisting ones. This could result in us not taking the error messages seriously: they are always bad, who cares?

What should be done to Fix the Problem?

We should fix the preexisting linting errors.

Retrieve events from local database

What is the Problem?

We cannot retrieve events from storage to display in view.

Why is this a Problem?

We will not be able to show the user any events that they have created outside of the current session.

What should we do to Solve this Problem?

Once we have an idea for how data is going to be stored (see #14), we need to have a way to retrieve those events and display them. The ways may be different based on the current calendar view

Adding a settings view

What is the Problem?

There isn't a way to change settings.

Why is This a Problem?

The user expects a graphical interface for changing settings.

How do We Fix it?

We'll create a new view with all options.

Set up linting

What is the Problem?

We don't have a linter for the project.

Why is this a Problem?

This results in code that is messier, with less consistent standards.

What should be done to Fix this Problem

We should add a linter to have clearer enforcement of coding standards

Setting up Tauri Base

What is the problem?

To make a desktop app you often need specialized tooling for each platform, instead we'll use Tauri to make a cross-platform application using web technologies and Rust.

Calendar Layout Theming

What's the Problem?

The calendar layout doesn't look great.

Why is this a problem?

While function is paramount, users aren't going to want to use an app that doesn't look good.

What should be done to address this problem?

We should make a unified theme for the calendar layout, which can then be overridden by the sub-modules.

Calendar view for month

What is the Problem?

There is no month calendar view.

Why is This a Problem?

Without a month calendar view, the user cannot see their schedule for the selected month in a glance.

How do We Fix it?

We'll add a calendar view with 31 blocks for every day of the month up to 31 days.

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.