Task app built with Vue, Node.js (Express), and MySQL. TypeScript is enabled globally. SCSS is used for styling, Vuex for state management, Vue Router for route handling, Passport and JWT for user authentication, Bcrypt for password hashing, Sequelize for database manipulation, Nodemailer for email sending, and Docker for local development.
-
Installs dependencies on frontend and backend (/ui and /api).
npm run install
-
Builds the images for the frontend, the backend, and the database and creates three containers from them.
npm run start
Specified in /.env.development.
- TASKOUT_PORT: Port the backend will run on.
- TASKOUT_DATABASE_URI: MySQL database URL.
- TASKOUT_EMAIL_ACCOUNT: Email account you want to send emails from.
- TASKOUT_EMAIL_PASSWORD: Password for aforementioned email account.
- TASKOUT_JWT_SECRET: JWT secret.
- VUE_APP_TASKOUT_API_URL: Backend URL.
-
Removes images, containers, and volumes.
npm run stop
-
Runs stop and start consecutively.
npm run restart