Code Monkey home page Code Monkey logo

teamtwo's Introduction

TeamTwo Shopping Mall

We developed shopping mall service by using MySQL, GnuPG, and Express framework on Node.js.

Intro

Our shopping mall is web service, so we expect you can easily figure out how to use without any comment. The following screen shot will be helpful to understand our service.

How to Use

Download the source code and build it.

git clone https://github.com/KAIST-IS521/TeamTwo.git
cd TeamTwo
make

Use your web browser to access our service.

Menus

Navigation var includes the all menus such as shopping cart, order, sign-up, login, logout, mypage, etc. But, before log-in, some menus like shopping cart, order and mypage are hiden.

List of items & Search

Main page includes list of items and search UI. If you push the detail button, you can add the item to the shopping cart or buy it.

main

product

detail

Sign-up

We support PGP-based authentication. If you write your GitHub ID and push the request button, you can get the encpryted text. Then you decrypt it with your private key and you have to encryt it with our public key. And you paste the encrypted text in the text area field.

register

Log-in page

After sign-up, you can login with ID, PW.

login

Shopping cart

This shopping cart page shows your choosen items. If you push order button, you can buy it.

shopping cart

View Order

You can see the purchased item in order page.

order

Message to admin

You can send a message to the admin and see the sent messages in mypage.

mypage

teamtwo's People

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

teamtwo's Issues

Shoppingmall name

How we do decide the name of shopping mall? Does anyone have some ideas?

[Frontend] Page for listing items

- list items
  - list 10 game items and 1 flag item
    - each item can be clicked and redirect to item view page
    - flag details:
      - 1,000,000,000 won and unlimited supply

[Frontend] Page for viewing orders

- view orders
  - list previous orders with ordeing status (order number?)
    - pending
    - complete
    - aborted (timeout)
  - each order can be clicked (view button) and shows items and details (serial key / flag)
    - it may seem similar as shopping cart

Make json interface to communicate with bank server

Bank server developers (team 1) will give us special account to manage transection between customors and shopping mall server.

To communicate, special json data structure will be used.
Please design the spec, and write down with markdown at webserver directory.
When finished it, I'll send it to team 1.

[Backend] Build failing

After running make in database/, I get the following error:

...
Setting up libhtml-template-perl (2.95-1) ...
Setting up mysql-server (5.5.55-0+deb8u1) ...
Processing triggers for libc-bin (2.19-18+deb8u6) ...
Processing triggers for systemd (215-17+deb8u5) ...
mysql -uroot -p"is521" < initializeData.sql
/bin/sh: 1: cannot open initializeData.sql: No such file
Makefile:5: recipe for target 'mysql' failed
make: *** [mysql] Error 2

[Backend] in products.js

Whenever I try to buy items that calls "router.get('/purchase ..."
one of the errors are

express deprecated req.param(name): Use req.params, req.body, or req.query instead routes/product.js:82:26
express deprecated req.param(name): Use req.params, req.body, or req.query instead routes/product.js:83:27

I looked up what the errors mean and it said that we need to change this

    var product_id = req.param('product-id');
    var product_num = req.param('product-num');

to

    var product_id = req.param.product-id;
    var product_num = req.param.product-num;

But when we change that, the code won't work anymore! :(

[Backend] DBMS choice

I implemented with MySQL for the rapid prototyping.
But some guys said 'they are familiar with SQLite.

So, we choose the DBMS.
The issue will be like the followings.

  1. compatibility test with current version of SQL script
  2. Makefile for installing DBMS without any problem

[FlagUpdater] Add file handling

When gpg verification is successful, the /var/ctf/shoppingmall.flag file should be updated, with the correct permissions.

[Backend] Basic structure for co-work

For co-working, we need the basic structure in files and directories.
Moreover, some guys are not familiar with Node.js.
Therefore, the code should be proven by working correctly the basic scenario,
so it has to be easy to understand the overall architecture and add the code which is assigned to the other members.

Build system

I think we should agree on a convention for the build system. As the assignment specifies, there should be a toplevel Makefile with a default target building every sub project. So, if every sub project also has a make file (e.g. flagUpdater/Makefile.flag), with the same default target, the toplevel make file could look like:

all: foo bar

foo:
    make -C foo

bar:
    make -C bar

Where foo and bar are each sub-project, webServer etc.

This makes the top-level make file simple to handle and isolates all sub-project specific build stuff to their respective directory. What do you guys think?

[Frontend] Page for searching items

- search items
  - keyword editbox and search button
  - list proper item according to search keyword
    - each item can be clicked and redirect to item view page

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.