ThemeSpace is inspired by the issues that CGP Grey brought up with New Year Resolutions in the video here. Our site was designed to follow his 'Theme' model and inspire people to work towards their goals by sharing and reflecting on their efforts to work towards that theme.

What it does

ThemeSpace provides a social platform for New Year’s resolution/theme chasers to both record and share their progress. Using an innovative tagging system, ThemeSpace can also recommend new activities to users based on their logged actions. On ThemeSpace, you can post what you have done towards your theme, see posts from other users, and get posts recommended to you based on how you tag your own posts.

How we built it

ThemeSpace is built on a Flask and SQLAlchemy backend with a HTML5 frontend. Credentials, user information, and entries are stored in a SQLite database which is accessed and edited by Flask and SQLAlchemy to create our dynamic web content and forms. The entire server runs on a Google Cloud Compute Engine instance with a NginX reverse proxy, our Flask server, and the SQLite database.

Challenges we ran into

We ran into several challenges when setting up our Google Cloud Compute Engine. Navigating the complex interface and finding which services we needed to run the project as first time users was difficult. Additionally, we had issues when designing our website, including deciding on a theme and site interface. Lastly, setting up the SQLite database was challenging as none of us have made any projects with databases before.

Accomplishments that we're proud of

We are proud that all the members of our team took on positions in the development of this project that we don't usually develop in. Even in positions that we weren't the most knowlegable in, we managed to create a finished project that we are proud of.

What we learned

We learned how to use a SQLite server and integrate it into a Flask backend. We also learned how to use Google Cloud and got better at using HTML and CSS.

What's next for ThemeSpace

We hope to improve the tagging system with a better input form and a page to find public entries with certain tags. We also want to make it easier for users to find others with a similar theme or goals and improve the security of the website.

Share this project: