Giter Club home page Giter Club logo

flask-calendar's Introduction

flask-calendar's People

Contributors

daghan avatar davidag avatar feeeek avatar kartones avatar kartones-tkt avatar mercury131 avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flask-calendar's Issues

simple search?

Something simple, just python lowercased search at task titles. think how to represent results, if to go to the month or what.

Needs some proper definition.

multi-calendars

JSON structure already supports [N,N] relations between users and calendars.

Should also be trivial to add to the cookie a list of calendar names + ids to do a quick switcher combobox topright if you have more than one.

Organize code in subfolders

Currently, there is source code in the repository root. It could be interesting to put it in a subfolder.

Yearly repetition

Right now you cannot create a task that repeats each year.

Because of how the storage and backend is designed, this probably could be added on the "repetitive tasks" part, but not so easily done in the "hidden tasks" part.

Needs some thinking as you would have to store both the day and month the yearly task is going to repeat.

ICAL export feature

WIP at branch https://github.com/Kartones/flask-calendar/tree/icalendar-exporter

Support exporting events into ICAL format.

Rough TODOs:

  • Each calendar should be published to a private url based file, so can easily be consumed by ICAL-capable applications/services (IIRC this branch already does it)
  • ICAL file should be updated upon saving any change to a calendar (IIRC this branch already does it)
  • Normal, non-repeating tasks should export basic fields: Date, time when starts (00:00 if all day), time when ends (for now, either one hour later than it started or 23:59 if all day), title as summary, details as description
  • Repeating tasks support. Probably create Up to N months ahead of tasks (maybe configurable via settings? with a default of lets say 6 months). A task can repeat weekly per week day, monthly per month day or monthly on the first week day specified (e.g. "first monday of the month").

fortify cookie

make cookie http only, secure, etc. Everything that proceeds.

Toggable via config so in development & tests can be disabled

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

docker-compose
build/base/docker-compose.yml
build/dev/docker-compose.yml
dockerfile
build/base/Dockerfile
  • python 3.12-slim
build/dev/Dockerfile
pip_requirements
requirements-dev.txt
  • coverage ==7.5.3
  • mypy ==1.10.0
  • pytest ==8.2.2
  • pytest-cov ==5.0.0
  • pytest-randomly ==3.15.0
  • pre-commit ==3.7.1
requirements.txt
  • flask ==3.0.3
  • cachelib ==0.13.0

  • Check this box to trigger a request for Renovate to run again on this repository

[Question] Can this be hosted for guest-view ?

Hi there! Thank you in the first place for creating this project. I have a couple of questions tho!

I'd like to know if this can be hosted as Read-Only for guests with no accounts? I've been looking for a WebApp calendar that acts like a website just for a calendar, and shows events. Would this be a good solution? if not, do you have any recommendations for my needs?

Desktop notifications

A possible enhancement is to setup a simple timer (a simple setinterval could do) to notify users (If they've gRanted consent/activated) with a simple alert() of tasks that have start time and that are going to happen.

This requires a few small new things:

  • a mechanism to enable/disable desktop notifications
  • exposing to JS on calendar page load all visible events with start date
  • the js logic to check periodically and raise the alert()

I have my doubts of implementing this as means adding more javascript and currently already has a few things, and the initial goal was to avoid it as much as possible (impossible to achieve if we want a minimally decent UX). Maybe could be done after improving the javascript.

Is there any documentation?

I would like to find the documentation about how to use/integrate the calendar, but it doesn't seem like there is any.

calendar to filter data

Hello,

I apologize if creating an issue is not the correct path for researching... But I was curious if I could use this to filter data?

For example, I have an app that can create some charts where the user first imports a CSV file containing numerical time series data via the browser. And a cool feature would be to able to filter the dataset based on some calendar dates selectable from the front end.

For example something bare bones the app user via the browser clicks a button to browse for a CSV file on this route:

@app.route('/transform', methods=["POST"])
def transform_view():

    f = request.files['data_file']
    filename = secure_filename(f.filename)
    f.save(filename)

    df = pd.read_csv(filename, index_col='Date', parse_dates=True)

And then could I use a calendar feature to filter the data? The idea that I have in mind would like a generic weekly calendar where the person could select specific time periods, like every week 1PM-5PM filter out all other data...

Hopefully this makes sense! Or would you have any other tips for other calendar features creations for Flask?

Thank you!
Ben

Increase tests & code coverage

Sadly, the project grew from personal proof of concept to production (for personal usage), without many tests.

Certain tasks shouldn't be tackled until especially the backend and tasks logic has decent coverage.

decent weekday and month day choosers

Currently, for repeating events the weekday and month selection UI is horrible. A decent day chooser and another for weekday are important.

In both cases probably a dropdown with all available choices is the best solution, type number in the case of month day so that mobile OS can show the adapted field with increment/decrement buttons.

Run CircleCI on Pull Requests

I might be missing something, but it looks like CircleCI is not running on PRs. Could it be activated so that tests are run before merging?

Render time of event in viewer's time zone?

I want to be able to enter events using my local time zone. But, I want to share the events calendar with people around the world and have them see the events in their local time zone.

Put another way, what does the TIMEZONE parameter affect?

And are events stored in GMT? Can I simply deploy two instances of the calendar with different values for the TIMEZONE parameter to get the same events rendered for 2 different timezones?

Rebuild tasks backend to include past and future month days

Initial design of the tasks backend was to only retrieve tasks of the current month, and it works well regarding that. But now I see the benefits of filling all relevant weeks of the month where are past month/future month days with tasks from those days, so then a feature to optionally show/hide past month and next month tasks can be built.

This task shouldn't be done until #6 is ready to ensure full backwards compatibility with current backend and the storage.

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.