Skip to content

pankova/LetsDiscuss

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LetsDiscuss

Description:

Let's Discuss is an engaging and interactive couples questionnaire designed to enhance relationship communication and decision-making.

This web-based platform provides thought-provoking questions and scenarios covering various aspects of life, such as decision-making, finances, shared interests, and more. By exploring these topics together, couples can deepen their understanding, strengthen their bond, and navigate important decisions as a team.

Steps to Use:

  1. User register via Google Auth
  2. A partner link is generated
  3. User send the link to their partner to answer questions together and compare their results later
  4. User fill out the questionnaire for topics to discuss
  5. Partner does the same
  6. If both have answered, they can see their answers on the results page. Otherwise they will only see their own answers with question marks for their partner's answers
  7. Once both have answered, they can discuss the suggested topics and their answers

Tech details

Python, Flask, Jinja2, Javascript, Google Auth, HTML, CSS, SQLite

Backend

  • api.py - backend part with navigation between pages and managing secure information like JWT-token

Frontend

  • auth.js - methods for Google authorization
  • partner_link.js - common UI element with generated partner link for some pages

Pages

  • layout.html - common UI for every page
  • index.html - main page

Screenshot of an index page

  • partner_link.html - page describing partner link mechanic

Screenshot of a partner link page

  • questions.html - question page

Screenshot of a question page

  • results.html - user and user's partner answers

Screenshot of a result page without partner answersScreenshot of a result page with partner answers

  • styles.css

Database

SQLite database questionnaire.db with tables

  • users (id, name, hash, partner_id)
  • sections (id, text, page_order) - question sections
  • questions (id, text, section_id)
  • options (id, text) - question options
  • results (user_id, question_id, option_id)

Other

  • helpers.py - utility methods
  • models.py - application entities like User, Question, Optin, etc

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published