Inspiration
Our project is designed to help companies understand how satisfied interns are with the company and how they achieve interaction with their interns. When we considered how to demonstrate employee satisfaction, we first considered the need to protect employees' privacy and allow them to speak freely. Therefore, we chose the anonymous forum and took some features from the anonymous forums that we had joined. And when thinking about how to help managers understand intern satisfaction, we associated it with data analysis, which in turn required quantification of satisfaction.
What it does
On the poster side, to ensure that all posters in the forum are internal interns, posters are required to verify their identity by first entering the unified verification code given to interns by the company. To quantify how satisfied interns are with the company, we introduced a rating system and allowed users to like posts made by other users. On the admin side, we asked managers to log in with their account password to access the admin backend, where they could manage posts in the forum and view reports generated online from analysis of intern satisfaction data. The reports provide the ability to extract keywords, which will help managers better understand how the company environment is perceived by interns.
How we built it
We used React to implement the front-end user page and administrator page and used Node.js to access MongoDB to manage the forum data on the back end. For data analysis, we wrote a Python script to organize and calculate the data and used natural language processing APIs to extract the adjectives that were mentioned top 5 most often in posts. Whenever the button to generate a report is clicked, the Node.js script calls the Python script to generate a real-time data report and store it in the database, which is then finally rendered on the front-end web page.
Challenges we ran into
The biggest challenge we faced was how to analyze satisfaction. The initial idea was to sort posts by hotness, with the hottest posts representing more people's thoughts. But after consideration, we still felt that such a design would not provide the most complete data. In the end, we opted to maximize the data by allowing users to rate their satisfaction against their own.
Accomplishments that we're proud of
- We restrict user posting privileges by issuing a uniform verification code, thus ensuring user privacy and avoiding posting by non-interns as much as possible.
- With the limited functionality of Node.js, we chose to access Python scripts to implement the extended functionality and successfully extracted the required keywords.
- We generated relatively neat data reports to help managers learn about user satisfaction.
What we learned
- Connection between Python and MongoDB
- Connection between Python and Node.js
- Data Visualization on web development
What's next for Project Sharing
- Allow users to manage their own published posts.
- Limit the number of likes each user can have for a single post.
- Allow posts to be sorted by hotness.
- Add dimensions that users can rate to help companies analyze where improvements are needed.

Log in or sign up for Devpost to join the conversation.