π Metro App web application built for my EBC-WA - Web Applications Development course. Metro stations and timetables are made manually to simulate.
- Implemented backend using the Express.js framework
- Implemented frontend using the Vue.js with Vuetify 3
- Connected database to store and query data using MongoDB
- Designed dynamic web based on different roles and provided authentication process with proper security.
Initial environment:
$ npm init
Install required librabries:
$ npm install
Start:
$ node index.js
/
ββ constrollers/ # User conrolles class, Station controller class, ticket controller class, train controller class, role controller class
ββ models/ # Role scheme, station scheme, ticket scheme, train scheme, user scheme
ββ utils/ # Control authorization and role required
ββ validations/ # Validations for forms on server side.
ββ vue-app/ # Frontend side
| ββ vue-project/
| ββ public/
β ββ src/
| | ββ assets/
| | ββ code/ # Axios implementation
β | ββ components/ # AppBar and LoggedUser components
β | ββ model/ # Interfaces for Station, Ticket, Train, User
β | ββ plugins/
| | ββ router/
| | ββ pages/ # Main components
| | ββ index.ts # Implementations vue-router with routes
| | ββ stores/ # Stores by pinia for user, station , ticket, train
| | ββ styles/
| | ββ App.vue
β | ββ config.ts
| | ββ main.ts
| |
| ββ index.html
| ββ package.json # Required librabries
|
|
ββ index.js # Routes
ββ README.md # This file
ββ package.json # Required librabries

