003-lab-se234 / SuiGetsu

SE262 + SE234 Term project
0 stars 0 forks source link

Init project and architecture #2

Closed h0shizaki closed 1 year ago

h0shizaki commented 1 year ago

Description

We need to initialize the project. Then select the tools and design the architecture

h0shizaki commented 1 year ago

From the SE262's requirement , we must use MongoDB and Mongoose library. And we must apply EJS to generate html. Then we must use Leaflet for creating an interactive map.

h0shizaki commented 1 year ago

Monolithic architecture with MVC Pattern

example of directory structure

Technology

Implementation plans

Website

Using Express to serving the EJS template and also apply the Bootstrap to enhance the UI.

Authentication

Encrypt the password before save to the MongoDB with bycpt library and implement the session-based authentication.

Map

Apply the Leaflet that it!

Food order and cart

Fetch the items from the mongodb and then, render them with ejs. Implement the cart by store the cart item in the session.

Restaurant

Authorize the staff separate from the costumer by adding { "role" : USER_ROLE } into the schema then, Implement CRUD operation on food, order and user. And if possible apply ChartJS for create a summarize of the restaurant.

h0shizaki commented 1 year ago

Versioning plan

v0.1.x

feature:

v0.2.x

feature:

v0.3.x

feature:

v0.4.x

feature:

v0.5.x

At this version, we can release this project. feature:

Enhancing Plan

v.1.0.x

Staff dashboard can display the statistical data

h0shizaki commented 1 year ago

@IcePutipong มาอ่านแผนคร่าวๆ ได้ตรงนี้นะ

h0shizaki commented 1 year ago

Init project

Setup tasks

h0shizaki commented 1 year ago
h0shizaki commented 1 year ago

Create unit test then, run this unit test and it magically passes!!

describe('EZ Unit test', () => {

    test('Test', () => {
        expect(2 + 1).toBe(3);
    });
});

4cb7f87bae8e6bb292879e93e6673303c98f8adb

h0shizaki commented 1 year ago

Done