Giter Club home page Giter Club logo

js-subway-admin's Introduction

level1 - 지하철 노선도 관리 SPA

Browser History API를 이용해 구현하는 지하철 노선도 관리 SPA

template version

🔥 Projects!

🎯 step1

Webpack을 통한 번들링

  • Webpack에서 babel을 설정한다.
  • 기타 플러그인 및 설정은 본인이 필요에 따라 추가한다.

라우팅 기능

  • Browser History Api를 이용하여 SPA처럼 라우팅을 적용한다.

지하철역 관리 기능

  • 지하철역을 등록할 수 있다.
    • 지하철역은 2글자 이상이어야 한다.
    • 엔터키 또는 마우스 클릭으로 역을 추가할 수 있어야 한다.
    • 지하철역의 이름은 최대 20자 이하이다.
    • 중복된 지하철역은 추가할 수 없다.
  • 지하철역의 이름을 수정할 수 있다.
    • 수정하는 UI는 modal을 이용하여 수정할 수 있게 한다.
  • 지하철역을 삭제할 수 있다.
    • 삭제 시 confirm을 이용하여 한 번 더 유저가 확인할 수 있어야 한다.
    • 이미 노선에 등록된 역인 경우 삭제할 수 없다.

지하철 노선 관리 기능

  • 지하철 노선을 등록할 수 있다.
    • 지하철 노선의 이름은 2글자 이상이어야 한다.
    • 중복된 지하철 노선 이름이 등록될 수 없다.
    • 지하철 노선의 이름은 최대 10자 이하이다.
    • 지하철 노선 생성시 필요한 값은 색상, 상행역, 하행역, (최초 상행역과 하행역 구간의)거리, 시간이다.
  • 지하철 노선을 수정할 수 있다.
    • 지하철 노선의 이름, 상행역, 하행역, 거리, 시간, 색상을 수정할 수 있다.
  • 지하철 노선을 삭제할 수 있다.
    • 삭제 시 confirm을 이용하여 한 번 더 유저가 확인할 수 있어야 한다.

지하철 구간 관리 기능

  • 지하철 노선에 구간을 추가, 수정, 삭제할 수 있다.
  • 구간 조회 시, 노선을 변경하면 해당 노선의 Color로 Select 엘리먼트의 배경색을 변경한다.

회원 기능

  • 유저는 회원 가입을 할 수 있다,
    • 회원 가입시 받는 정보는 email, name, password이다.
  • 유저는 로그인 할 수 있다.
    • 로그인하고 나면 로그인 버튼은 로그아웃 버튼으로 변경되어야 한다.
    • 로그인한 유저만, 정보의 수정이 가능하다.
    • 로그인하지 않은 유저에게는 로그인 외 다른 버튼은 보이지 않는다.
  • 유저는 로그아웃할 수 있다.
    • 로그아웃하면 / 루트 페이지로 돌아온다.

⚙️ Before Started

Tip 로컬에서 서버 띄워서 손쉽게 static resources 변경 및 확인하는 방법

로컬에서 웹서버를 띄워 html, css, js 등을 실시간으로 손쉽게 테스트해 볼 수 있습니다. 이를 위해서는 우선 npm이 설치되어 있어야 합니다. 구글에 npm install 이란 키워드로 각자의 운영체제에 맞게끔 npm을 설치해주세요. 이후 아래의 명령어를 통해 실시간으로 웹페이지를 테스트해볼 수 있습니다.

npm install -g live-server

실행은 아래의 커맨드로 할 수 있습니다.

live-server 폴더명

👏🏼 Contributing

만약 미션 수행 중에 개선사항이 보인다면, 언제든 자유롭게 PR을 보내주세요.


🐞 Bug Report

버그를 발견한다면, Issues에 등록해주세요.


📝 License

This project is MIT licensed.

js-subway-admin's People

Contributors

imakerjun avatar ganeodolu 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.