SurvApp is a user-friendly and intuitive application that enables users to create personalized surveys. After preparing the surveys, users can easily send them to their desired recipients via email. SurvApp offers detailed statistics and valuable insights on completed surveys, and users also have the flexibility to download the survey results in PDF format.
Survey Creation: Users can easily craft surveys by adding questions and defining answer options. The application provides flexibility, allowing the selection of answer options in either a range format or multiple-choice format, depending on the nature of the question.
Email Survey Distribution: Once the surveys are prepared, users can conveniently send them to desired recipients via email. This feature ensures efficient and convenient survey deployment, enabling widespread participation.
Survey Statistics: SurvApp provides comprehensive statistics and insights on completed surveys. Users can view graphical representations and analyze the results in real-time, gaining valuable insights from the collected data.
Result Download: Users have the option to download the survey results in a user-friendly format. This enables them to further analyze the data offline, export it for reporting purposes, or integrate it into other applications as needed.
- Clone the repo
git clone https://github.com/seymagulas/SurvApp.git
cd survapp
- Create a
.env
file underclient
directory
cd client
touch .env
- Add following variables
REACT_APP_API_BASE_URL
- Create a
.env
file underserver
directory
cd server
touch .env
- Add following variables
BASE_URL
PORT
SECRET_KEY
MAIL_SERVICE
MAIL_USER
MAIL_PASS
- Install dependencies for backend
cd server
npm i
- Start development server for backend
npm run dev
- Install dependencies for frontend
cd client
npm i
- Start development server for frontend
npm start
-
React - Frontend library for building user interfaces
-
TypeScript - Typed JavaScript extension for enchancing code quality
-
Tailwind - Flexible CSS framework with pre-built classes for quickly styling web applications
-
Axios - Library for sending HTTP requests in JavaScript
-
Yup - JavaScript library for validating data against predefined rules
-
[React Icons](React Icons) - Library that offers a collection of ready-to-use icons for React applications
-
Toastify - Lightweight JavaScript library for creating customizable and user-friendly toast notifications
-
ChartJS - JavaScript library that simplifies the process of creating interactive and visually appealing charts and graphs on web pages
-
jsPDF - Library that simplifies the generation of PDF documents in web applications by providing an easy-to-use API
-
Express.js - Lightweight web framework for Node.js that makes building web applications
-
MongoDB - Flexible and scalable NoSQL database that stores data in a format similar to JSON
-
Mongoose - Object Data Modeling (ODM) library for Node.js and MongoDB
-
JWT - App security with tokens
-
Nodemailer - Library for sending emails using Node.js
-
Cypress - End-to-end testing framework for web applications
-
Jest - Testing framework widely used for unit testing applications
-
Postman - Powerful tool for testing and documenting APIs
-
Prettifier - Tool for making code look neat and organized by automatically adjusting its formatting
-
mongoDB Compass - Visual GUI (Graphical User Interface) tool for MongoDB
-
Excalidraw - Collaborative sketching tool for creating visual diagrams and illustrations
Seyma Gulas (Operations Manager) - Github - LinkedIn
Ines Lozano (UI/UX Supervisor) - Github - LinkedIn
Meera Rai (Security Auditor) - Github - LinkedIn
Vipin Devan (Chief Testing Officer) - Github - LinkedIn
This project is licensed under the MIT License.