oscard0m / rent-flat-scraper

Scraper with last published flats in idealista
MIT License
7 stars 2 forks source link

Define Architecture & Roadmap #5

Closed nerder closed 3 years ago

nerder commented 7 years ago

Description

This end2end ~is perfectly functional~ and a good starting point in order to make something very cool, but of course it needs to be structured well to work as we want.

I think that we should start a bit of a discussion about architecture and roadmap of the project.

Constraints

I think we are all agree about the constraints that the project have to have:

  1. No money required for hosting or SaaS or anything. (after all is Catalunya based project no?)
  2. Fully open source
  3. Reusable > Easy-to-Develop > Scalable (at least at first)
  4. Flat decision making based on votes

Questions

In order to define the right stack we should answer some questions:

  1. We should create it as an API or leave it as a CLI? or support both?
  2. Typescript or VanillaJS?
  3. Needs a database?
  4. Reactive or onDemand?

Misc

This are other questions that just came out related to the project management itself:

  1. Task management tool?
  2. We need deadlines?

PS: If you want to add more points to any aread or remove some let's discuss it in the comments. just prefix your comment with where you would like to add or remove the question and i'll update the issue

nerder commented 6 years ago

Constraints

Totally agree. (ok i'm the one who writes them, but still :shipit: )

About the point 1 if we all agree i think we should create a list of all the free plan services and stuff that we can (ab)use.

About the point 4 i think that some voting slack app can do the job.

Questions

  1. I think the best will be create at first an API, and then a CLI that calls it. Eventually a cool webapp in the future.
  2. I will go for typescript since will give us a lot of abstraction to make our code very easy to extend
  3. Yes, i will use a Firebase in order to save snapshot of previous researches to do some cool stuff with that eventually.
  4. Totally reactive

Misc

  1. I will use directly github project to manage it.
  2. no deadlines, but i will set goals.
oscard0m commented 6 years ago

Questions

  • We should create it as an API or leave it as a CLI? or support both?

Both but focusing on make it work first and iterating it with more features.

  • Typescript or VanillaJS?

TS (already voted on Slack)

  • Needs a database?

Probably yes, but I think this should be promoted by an issue a part with a functionality on top of it.

  • Reactive or onDemand?

Reactive is the key feature here. The app needs to be the first one noticing a new flat has been published with the constraints the user wants and be the first one contacting the owner.

Misc

  1. 👍 to Github Project
  2. 👍 to no deadlines. This should be for fun (at least for now).