Git Product home page Git Product logo

ramen_be's Introduction

Taiwan Ramen Group

A Node.js web application project making ramen lovers in taiwan finding their favorite ramen store around them more easily.

Live Demo

To see the app in action, go to https://ramen-group.herokuapp.com/

Features

  • Authentication:

    • User login with facebook oauth

    • User login with username and password

  • Authorization:

    • One cannot manage stores and view user profile without being authenticated

    • One cannot edit or delete stores and comments and reviews created by other users

    • Admin can manage all stores,reviews and comments

  • Manage stores:

    • Create, edit and delete stores, reviews and comments

    • User can give star review on each stores

    • Star reviews will show on index page for each store

    • User can upload store images

    • Images will be stored in imgur (later might migrate to amazon S3 server)

    • Display store location on mapbox map

    • User can search existing store with store name, relative location and city.

    • Pre-existing stores information are scraped from google map by using puppeteer.

  • Manage users:

    • User can sign up through email/password, and facebook oath(facebook sign up is recommended)

    • User will get comfirmation email when signing up with email/password.

    • Provided link has to be clicked in the comfirmation email by user in order to store user data in database.

    • Password can be reset via email confirmation

    • Profile page setup with sign-up

    • User can edit their information including avatar.

  • Flash messages responding to users' interaction with the app

  • Responsive web design

Technologies Used:

  • HTML5 - markup language for creating web pages and web applications
  • CSS3 - used for describing the presentation of a document written in a markup language
  • Bootstrap4 - free and open-source front-end web framework for designing websites and web applications quickly
  • jQuery - cross-platform JavaScript library designed to simplify the client-side scripting of HTML
  • DOM Manipulation - is a platform and language-neutral interface that allows programs and scripts to dynamically access and update the content, structure, and style of a document
  • Node.js - pen-source, cross-platform JavaScript run-time environment for executing JavaScript code server-side
  • Express.js - for building web applications and APIs and connecting middleware
  • REST - REST (REpresentational State Transfer) is an architectural style for developing web services
  • MongoDB - open-source cross-platform document-oriented NoSQL database program to store details like users info, campgrounds info and comments
  • NodeMailer - module for Node.js applications to allow easy as cake email sending. Used with gmail smtp survice to send email to user.
  • PassportJS - authentication middleware for Node.js. Extremely flexible and modular, Passport can be unobtrusively dropped in to any Express-based web application
  • Data Associations - associating user data with the respective campgrounds and comments using reference method
  • Heroku - cloud platform as a service used as a web application deployment model and more...

Built with

Front-end

Back-end

Database

Platforms

Progress

2020/09/07 image finished map on index page, map to chinese, ramen icon

2020/09/08

got some change in index map, put searchbar in map, setup session storage to store currently get stores, add fix nav'

2020/09/13 finish notification

Undos

v Image corousel
v show page info => SPA v store edit, add page fix and put route fix x mongoDB ip restriction (need SSL) v pagenation x sanitize and escape any input v navbar make fix v delete navebar homebage button

  • picture resize to fit in show page
  • index page stores sorting v notification route not found
  • edit and add page can add multiple images v index page map show
  • navbar to sidebar?
  • index page city tag search
  • index page soup taste search(using tag)
  • store open time v fix edit review ui v add new store proximity search($near)
  • showpage review put into infoBtn for long review with pictures
  • click review arthor can see all his reviews
  • store unsent review inside browser sessionStorage or localStorage? https://www.w3schools.com/html/html5_webstorage.asp v find store througe navigating through map

2021/04/04

  • reddis session

  • passport fb token

  • api seperation

  • fb get group: /v.10.0/{userFbId}/groups?pretty=0&limit=25000

  • find nearest store

  • subway image map

  • 加入index預先顯示灰色的block,

2021/06/03

  • add data validation
  • use replica set to achieve transactional
  • finish comment

License

ramen_be's People

Contributors

julianlin549 avatar

Watchers

 avatar

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.