/GenieIO

GenieIO - Wish Making Django App. Using Word Cloud, SQL, ReactJS, MongoDB, Twillio based SMS Server, and NLP using NLTK.

Primary LanguagePython

by Guy Cherkesky | LinkedIn | Website

GenieIO is a Full Stack React.js/Django app that connects users who want to make a wish (ex: I want to pass calculus) to users that think they can grant their wishes (ex: I’m a calculus instructor. I think I can help you!). There is a dedicated section for the Wishers to send their wishes and a section for Granters to search for a wish to grant. If a Wisher gets a Grant request they can reject or approve the request. If they choose to approve the request, the Granter contact info will be shared with the Wisher. The home page shows a word cloud made from the wish’s keywords. The wishes are processed with NLTK to remove all the stop words and leave only the important keywords for the word cloud. GenieIO also allows users to text wishes from their phones.

Details

Technology Stack:

Full CRUD functionality

  • JS: Vanilla Javascript, React, Node.JS, Express
  • Python: Vanilla Python, Django
  • Styles: CSS, Material UI, Figma
  • Libraries: NLTK, React WordCloud, Twilio
  • Version Control: Git, Github
  • DB: SQLite3, Mongo.DB

Running Locally

Backend (Python, Django): In the project directory, you can run: (Run all commands with python3 if it doesn't have a python alias on your machine)

python -m venv env

source env/bin/activate

pip install -r requirements.txt

python manage.py makemigrations genieioapp

python manage.py migrate

python manage.py loaddata genieioapp/fixtures/fixtures.json

python manage.py runserver

Frontend (Javscript, React) In the project directory, you can run:

npm install

npm start

Rename src/apikeysExample.js to src/apikeys.js

Add a Google Geocoder API Key to src/apikeys.js

SMS text server (Node.JS, Express) In the project directory, you can run:

node src/server.js

and on a different terminal window, you can run:

twilio phone-numbers:update "+16152355775" --sms-url="http://localhost:1337/sms"

Make a wish!