TT 2019-B052 project
Develop a web app that allows the edition of a database diagram under the entity-relationship model and performs its validation, later the diagram can be transformed into the relational model with the possibility of obtaining the database schema in SQL statements or get the document oriented database schema and have the possibility to implement the non-relational model in a NoSQL database as MongoDB.
- Nuxt
- Vue 2
- Vue Router 3
- Vuex 3
- Nuxtjs/Axios
- Authentication with JWT Token
- Vuetify
- Live demo at https://serene-haibt-2239b4.netlify.app/
- Backend project in https://api-tt-2019-b052.herokuapp.com/ and the code in https://github.com/omaraparicio07/TT2019-B052
- User management with JWT Token
- Entity-Relationship diagrams can be made with GoJS libray.
- ER diagram's validations
- Mapping ER Diagram to Relational Model
- SQL script generation
- Mapping ER Diagram to NoSQL Conceptual Model
- Mapping GDM to Document Data Model
- Generate data "schema" for MongoDB with Mongo specification
- Generate GDM plain text file from ER + query diagram.
- Program a parser of a simple GDM text file and generate the model in Python with the help of the classes already generated by pyecore.
- Program the document-oriented transformation algorithm.
- Diagram the document-oriented model.
- Generate the MongoDB script of the document-oriented model.
Languages generated with:
- pyecoregen -vv -e GdmLang.ecore -o gdmLang
- pyecoregen -vv -e documentDataModel.ecore -o ddmLang
- pyecoregen -vv -e columnFamilyDataModel.ecore -o cdmLang
# install dependencies
$ npm install
# serve with hot reload at localhost:3000
$ npm run dev
# build for production and launch server
$ npm run build
$ npm run start
# generate static project
$ npm run generate
For detailed explanation on how things work, check out Nuxt.js docs.