GithubHelp home page GithubHelp logo

usagib / booking-portfolio Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 18.81 MB

A portfolio with booking features built with React and a dedicated ruby on rails API

Home Page: https://usagi-booking.surge.sh/

Ruby 48.65% HTML 2.18% JavaScript 45.55% CSS 3.62%
rails api-endpopints ruby javascript react redux postgresql

booking-portfolio's Introduction

Version 1.2 updated

Upcoming features

  • Facebook / Google omniauth
  • User dashboard new features
  • Push notifications

Logo

Booking App bootstrapped with React + Redux with RESTful API developed in Ruby on Rails

Portfolio application with user dashboard for requesting services and create appointments

Table of Contents

Version Notes

VERSION 1.1 Update

Booking portfolio got a radical makeover: check out the new smooth UX Screenshot11 Screenshot12 Screenshot13 Screenshot14 Screenshot15

About The Project

RESTful API developed using Ruby on Rails, Json Web Token, bcrypt to ensure log security and deployed to Heroku, Frontend built with React + Redux and bootstrap.

Live Demo

How to run

You can acess the live demo or:

  • Run it Locally

Backend Api

  • Fork or clone this repository
  • run > bundle install
  • run > rails server -p 3001

Frontend

  • run cd client/
  • run > npm install
  • run > npm start
  • access your localHost:3000 on your browser

Features

  • User can create a new profile trough api Call
  • User can log into the app trough api call
  • User can request new services
  • User can book appointments for their services
  • User can navigate their data trough the profile dashboard
  • Straightforward UI

API Endpopints and Validations

  • Endpoints

Authentication

Login:

  • POST /api/auth/login(.:format)
  • params: email:string, password:string
  • POST /api/signup(.:format)
  • params: name:string, company:string, email:string, password:string, password_confirmation:string Response: auth_token

Headers: Authorization: auth_token

Services

  • params: name:string, description:string, min_cost:integer. max_cost:integer
  • GET /api/services(.:format)
  • POST /api/services(.:format)
  • GET /api/services/:id(.:format)
  • PATCH /api/services/:id(.:format)
  • PUT /api/services/:id(.:format)
  • DELETE /api/services/:id(.:format)

Appointments

  • params: date:date, time:time, description:text, name:string
  • GET /api/services/:service_id/appointments(.:format)
  • POST /api/services/:service_id/appointments(.:format)
  • GET /api/services/:service_id/appointments/:id(.:format)
  • PATCH /api/services/:service_id/appointments/:id(.:format)
  • PUT /api/services/:service_id/appointments/:id(.:format)
  • DELETE /api/services/:service_id/appointments/:id(.:format)

Screenshots

Screenshot1 Screenshot2 Screenshot3 Screenshot4 Screenshot5 Screenshot6 Screenshot7 Screenshot8 Screenshot9 Screenshot10

Built With

  • HTML5
  • CSS3
  • JavaScript ES6
  • React
  • Redux
  • Bootstrap
  • Ruby
  • Ruby on Rails
  • postgresql

Deployed with:

  • Heroku
  • Surge

Additional packages used

  • npm axios
  • npm react
  • npm react-router-dom
  • npm qs
  • npm react-bootstrap
  • npm prop-types
  • gem bcrypt
  • gem jwt
  • gem rspec-rails
  • gem dtaabase_cleaner
  • gem shoulda-matchers
  • gem faker

Contact

Show your support

Give a ⭐️ if you like this project!

booking-portfolio's People

Contributors

usagib avatar

Stargazers

 avatar Oscar Alfredo Gómez Elizarrarás  avatar

Watchers

James Cloos avatar  avatar

booking-portfolio's Issues

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.