Giter Site home page Giter Site logo

oidam98 / pocket-reminder Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 87 KB

Small project to play around with FP and remind myself to read more links saved to Pocket.

License: GNU General Public License v3.0

Scala 100.00%
scala functional-programming pocket-api recurrent-tasks cats cats-effect fs2-cron pureconfig

pocket-reminder's Introduction

Pocket Reminder

A basic application to remind reading through old links saved to Pocket in order to clear the reading list or categorize them as favorites.

The application can show the user a designated number or random old links that have yet to be read from the user's list. Also it can send this list through email for the user to in the browser or Pocket's app.

Description

Pocket Reminder is both a simple library and an application. The library is used to connect to Pocket's API and manage the user's account through it using pure Scala. The purpose of the application is to remind the user to read though old links saved to Pocket to clean its reading list or save important links that were not previously marked.

Objective

The focus of the project is mainly to learn about pure functional programming, using Cats, and Hexagonal Architecture principles. The idea for the project was born from a personal need, making it a great fit as a playground for these new ideas.

The main goal of this project is to create a simple library to manage some Pocket API's actions through Scala. This library will have 2 main clients: one Command-Line Interface and a Client-Server application. Each client will extend the core library as needed.

Missing Tasks

  • Core
    • Add remove from Pocket list functionality
    • Add algebra for recurrent tasks
  • CLI
    • Add interpreter to set recurrent tasks
    • Change from manual read to use Ciris library for config read
    • Dockerize CLI
  • Create Client-Server app
    • Create FrontEnd
    • Create Backend
      • Implement interpreters
      • Create Server
        • Design API
        • Implement needed routes
    • Create pipeline for server to serve frontend
    • Deploy?

Dependencies (TBA)

Core

CLI

Client-Server App

Resources Used (TBA)

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.