Skip to content

AnkietApp/ankietapp-backend

Repository files navigation

ankietapp-backend

Description

Backend for the survey management app "ankietApp"

Features

  • 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 📧)

Entity Relationship Diagram

erd-survey

Example of survey creation

AnkietApp

Technologies

  • Mailgun integration ✅
  • TypeScript ✅
  • TypeORM ✅
  • MySQL ✅
  • Passport.js (JWT authorization) ✅
  • cron (schedule sending email notifications) ✅

Requirements

  • Node.js
  • MySQL
  • Mailgun account and private key

Install

  1. Create database
mysql> CREATE DATABASE ankietApp;
  1. Install typescript
$ npm install -g typescript
  1. Install dependencies
$ npm install
  1. Create .env from example.env then set MAILGUN_API_KEY and MAILGUN_DOMAIN
  2. Run app (PORT 8080)
$ npm run dev

Go to http://localhost:8080

About

Backend for the survey management app "ankietApp"

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published