To-do list

JavaScriptTypeScriptVueNode.jsExpress.js

To-do list formou SPA, autentizace pomocí JWT a REST API server. Semestrální projekt ve 2. ročníku vysoké školy, předmět Webové aplikace.

Popis aplikace

Jednoduchá to-do list aplikace, slouží spíše pro prezentaci celkového řešení.

SPA napsána pomocí Vue.js, pro state management jsem využil knihovnu Pinia. Autentizace je řešena pomocí JWT, který se předává jako httpOnly cookie. Nelze ji tedy v prohlížeči získat pomocí Javascriptu. Uživatelská data se získají voláním API endpointu, nelze tedy hned po přístupu na stránku zjistit, zda jsem přihlášen.

REST API je napsána v Node.js. Vytvořil jsem si jednoduchou MVC strukturu, kterou lze doplňovat o moduly. Pro práci s DB využivám ORM Sequelize.

Zde pro ukázku router pro modul User

class UserRouter extends AbstractRouter {


    getRoutePrefix(): string {
        return '/user'
    }

    getRoutes(): Array<Route> {
        return [
            {
                path: '/',
                httpMethod: HttpMethod.GET,
                controller: new UserController(),
                action: 'index',
                middleware: [
                ]
            },
            {
                path: '/signup',
                httpMethod: HttpMethod.POST,
                controller: new UserController(),
                action: 'signUp',
                middleware: [
                ]
            },
            ....
        ];
    }

}

export default UserRouter

Obě části jsou psané v TypeScriptu

Demo

Aplikace je přístupná na https://todo.vvoleman.eu

EmailHeslo
test@test.czheslo123