Backend for the survey management app "ankietApp"
- A system administrator can create a survey and assign users as respondents or make a survey public so that each user in the app will be asked to fill the survey
- Each survey has multiple questions and the due date
- Each question is one of the four types: date, text, single choice, multiple-choice
- Every time survey is created, each respondent will be asked via email to fill survey (using 📧 Mailgun integration 🔥)
- The respondent will be reminded to fill the survey a day before its due date (cron scheduled job 📆 + Mailgun.js 📧)
- Mailgun integration ✅
- TypeScript ✅
- TypeORM ✅
- MySQL ✅
- Passport.js (JWT authorization) ✅
- cron (schedule sending email notifications) ✅
- Node.js
- MySQL
- Mailgun account and private key
- Create database
mysql> CREATE DATABASE ankietApp;
- Install typescript
$ npm install -g typescript
- Install dependencies
$ npm install
- Create .env from example.env then set MAILGUN_API_KEY and MAILGUN_DOMAIN
- Run app (PORT 8080)
$ npm run dev
Go to http://localhost:8080