University students during the COVID-19 pandemic have experienced some of the worst mental-health concerns in the population, as we’re separated from our friends, family and forced to study online during lockdown. We wanted to create the best platform for students to easily connect with mental-health help from university therapists or counselors.
git clone https://github.com/app-generator/flask-dashboard-dattaable.git cd flask-dashboard-dattaable
virtualenv env source env/bin/activate
virtualenv env .\env\Scripts\activate
pip3 install -r requirements.txt
pip install -r requirements-pgsql.txt
(Unix/Mac) export FLASK_APP=run.py (Windows) set FLASK_APP=run.py (Powershell) env:FLASK_APP = ".\run.py"
(Unix/Mac) export FLASK_ENV=development (Windows) set FLASK_ENV=development (Powershell) env:FLASK_ENV = "development"
--host=0.0.0.0 - expose the app on all network interfaces (default 127.0.0.1)
--port=5000 - specify the app port (default 5000)
flask run --host=0.0.0.0 --port=5000
Access the dashboard in browser: http://127.0.0.1:5000/
CanWeTalk is a platform that allows students to instantly text-message a university counsellor via a university-wide number, with no app downloads required. It’s designed to be as effortless as possible to connect with a school counselor. The moment their message is sent, it is received by the counsellors who can reply instantly, making campus mental health services more convenient for all students.
- SMS routing is done via the Twilio API. It receives text messages and sends them to our back-end server, and vice-versa.
- Chat rooms are built using Socket.IO API. It waits for messages to be received, and then posts them to the chat room and back to Twilio API to then respond back to the user.
- Backend and frontend are powered via Python’s Flask Web-Framework and JavaScript. Bootstrap elements and components were used in designing a user-friendly UI
- Making the SMS chat work! When we were finally able to push the SMS message to our program and have it appear on chat (and vice-versa), we were proud of our work!
- Our technology can be leveraged to improve thousands of students across Canada, who are struggling with mental health. Suicide and depression rates are currently increasing during the start of the COVID pandemic, we don’t want to lose anymore students
- If CanWeTalk ever made it live and helped university students access mental health faster, then we would be proud to have contributed to mental health access for university students through this hackathon project!
We had zero experience working with Twilio and Socket.IO APIs prior to this project. We have spent many, many hours trying to make our code work. If we had to do this again, we would hope to be able to mobilize the program much quicker in making the basic features work and being able to add more advanced features to our platform.
- The first challenge was making Twilio API work. It took us a while in order to understand how the API works and how to have our Python code fetch the incoming message and number.
- Once we figured that out, our next challenge was to push the messages over to a chat room.
- We played around with a few API frameworks before landing on Socket.IO. While the system is very basic, it worked for our purposes.
- We would likely have switched to a different framework like React if we were given enough time to perfect our JS skills.
- There are final touches we would like to finish before CanWeTalk is ready. We would like to make it easier for counselors to switch between multiple conversations.
- Furthermore, redesigning and building this application using a JavaScript stack would be easier and more efficient than using the Python Flask framework.
- This idea would need to be pitched to the universities and approved before they are launched. With their support, we can integrate CanWeTalk to access student information directly, while being able to securely authenticate registered students by implementing their system..