Git Product home page Git Product logo

comet-watcher's Introduction

Hi ๐Ÿ‘‹, I'm Eugene

var about = {
  "languages": ["Java"],
  "frameworks": [
    "Spring", "Spring Boot",
    "Quarkus", 
    "Hibernate", "MyBatis"
  ],
  "tools": [
    "Docker", "Kubernetes", 
    "Kafka", 
    "MySql", "Redis",
    "Maven"
  ],
  "platforms": ["AWS", "Heroku"],
  "hobbies": [
    "Travelling and hiking", 
    "Astronomy",
    "Stargazing",
    "Photography"
  ]
}

You can find me here:

LinkedIn VK Leetcode


comet-watcher's People

Contributors

dependabot[bot] avatar eshishkin avatar

Watchers

 avatar

comet-watcher's Issues

Retrieve information based on geo coordinates

Heavens-Above allows to send additional query parameters to specify user's geo data. Here is an example

https://www.heavens-above.com/Comets.aspx?lat=56.8666&lng=53.2094&loc=Izhevsk&alt=0&tz=SAMT

It should be adapted in the client too

Add cache for comets

Subscribers are grouped by geo position. If two subscribers have different coordinates, one comet will be requested twice. A cache will reduce network traffic

Analyze other comet catalogs

Minor Planet center provides a catalog with data e.g. declination, right accession, etc.
Data is updated once per month (?) and provided as a txt file or json.

I suppose the application can download it periodically and store in a kind of cache.

Links

Example of JSON document

{
   "Orbit_type":"C",
   "Provisional_packed_desig":"J95O010",
   "Year_of_perihelion":1997,
   "Month_of_perihelion":3,
   "Day_of_perihelion":29.6731,
   "Perihelion_dist":0.912926,
   "e":0.994933,
   "Peri":130.6132,
   "Node":283.3721,
   "i":88.9848,
   "Epoch_year":2020,
   "Epoch_month":5,
   "Epoch_day":31,
   "H":-2.0,
   "G":4.0,
   "Designation_and_name":"C/1995 O1 (Hale-Bopp)",
   "Ref":"MPC106342"
}

Save events into calendar

The idea was to save perihelion date in calendar (Google or something different). But for it seems redundant to me, so I am closing this issue

Integrate Testcontainers with the project

There is a library called Testcontainers. It allows to run docker containers during unit tests. I would like to test how it works with Quarkus.

So we need to implement a couple of integration tests

Ability to unsubscribe from emails

There is no ability to unsubscribe in the application, but only through API.
Email message should include a link that deletes a user from the system. When #7 is done, there will be a dedicated page for that

Initialize mailer lazily

Quarkus mailing extension tries to initialize mailer eagerly at startup time. It also requests Vault for credentials. Sometimes it is a problem.

Organize build and deployment workflow

  • Add maven profile that builds fat jar
  • Add docker file for building and packaging the application
  • Set up an account on Heroku
  • Set up a github action that deploys the app on Heroku

Set up STMP server for sending messages to gmail, etc

Currently if I try to send email message to gmail address from docker container, a error message appears

smtp_1  |   278   SMTP<< 550-5.7.1 [78.85.154.29] The IP you're using to send mail is not authorized to
smtp_1  |   278          550-5.7.1 send email directly to our servers. Please use the SMTP relay at your
smtp_1  |   278          550-5.7.1 service provider instead. Learn more at
smtp_1  |   278          550 5.7.1  https://support.google.com/mail/?p=NotAuthorizedError j21si9015166lfg.108 - gsmtp
smtp_1  |   278   SMTP>> QUIT
smtp_1  |   278   SMTP(close)>>

Implement REST API for subscriptions

A simple CRUD for current subscriptions

  • Get all emails subscribed to the service
  • Ability to add new email
  • Ability to delete email from mailing list

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.