Giter Site home page Giter Site logo

castle's Introduction

Castle

Sleep well with Relais & Châteaux

castle

Table of Contents

🐣 Introduction

🎯 Objectives

List the best rates for each Weekend for France located Relais & Châteaux

🏃‍♀️ Steps to do

Create a connection between relaischateaux.com, restaurant.michelin.fr and the end-user.

Stack

Node.js + React + Material Design (mdl, bootstrap, foundation...) + ES6 [+ docker + redis ...]

👩‍💻 Just tell me what to do

  1. Fork the project via github

fork

  1. Clone your forked repository project https://github.com/YOUR_USERNAME/castle
cd /path/to/workspace
❯ git clone [email protected]:YOUR_USERNAME/castle.git
  1. Do things

  2. commit your different modifications:

cd /path/to/workspace/castle
❯ git add -A && git commit -m "feat(michelin): get list of starred restaurants"

(why following a commit message convention?

  1. Don't forget to commit early, commit often and push often
❯ git push origin master

Note: if you catch an error about authentication, add your ssh to your github profile.

  1. If you need some helps on git commands, read git - the simple guide

🏃‍♀️ Example of Steps to do

Investigation

Hotels from Relais & Châteaux

  1. How it works https://www.relaischateaux.com ?
  2. How to get the list of Hotel + restaurant
  3. How to identify the restaurant(s) name ?
  4. How to compute the booking price for all weekend ? for a given weekend?

etc ...

Some things to do:

  1. Browse the website
  2. Check how that you can get list of hotels: api etc.... (check network activity)
  3. Check how that you can get list of restaurants for a given hotel: api etc.... (check network activity)
  4. define the JSON schema for Hotel

etc ...

Example of Hotel: https://www.relaischateaux.com/fr/france/mercues-lot-mercues

Michelin Restaurant

  1. How it works https://restaurant.michelin.fr
  2. What are the given properties for a starred restaurant: name, adress, town, stars, chef... ?
  3. ...

Some things to do:

  1. Browse the website
  2. define the JSON schema for a restaurant
  3. Check how that you can get list of starred restaurants: api etc.... (check network activity)

etc...

Example of Restaurant: https://restaurant.michelin.fr/2akhln2/lauberge-des-glazicks-plomodiern

The web application

Some things to do:

  1. How to create a connection between Relais & Châteaux and the starred restaurant?

Server-side with Node.js

require('castle')

Create a module called castle that returns the list of best rates for all Weekends for each Hotel

const castle = require('castle');
...
const restaurant = {...};


const hotels = castle.getHotels();
const prices = castle.getPrices(restaurant);

...

Some things to do:

  1. create the calls (api, http) to get the hotel page
  2. get the restaurants name (by scraping or decoding api response)
  3. check if the restaurant is starred.
  4. get the price by Weekend (by scraping or decoding api response)

require('michelin')

Create a module called michelin that return the list of restaurant

const michelin = require('michelin');

const starred = michelin.get();

...

Some things to do:

  1. scrape list of France located starred restaurants
  2. store the list into JSON file, nosql database (like redis, mongodb...)
  3. create a node module that returns the list

Client-side with React

MVP to do:

  1. For each Weekend, list best rates for France located Relais & Châteaux with starred restaurants

Next features:

  1. Add filters:
  • filtering by name
  • sorting by stars
  • sorting by price
  • sorting by distance
  1. Bonus: Display on a map only Relais & Châteaux with starred restaurants.

Notification (bonus)

Some things to do:

  1. Notify me (discord or slack) a new best rate price for any Relais & Châteaux with starred restaurant.

Don't forget

Focus on codebase and UX/UI

Licence

Uncopyrighted

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.