Inspiration
I, one of the group members, missed out on a CS event called Casino Night. I realized there are a lot of community events, and other types of events that occur that I don't know of. Often times college and departments have physical bulletin boards where clubs, departments, etc. tack posts to advertise events, sellings, and much more. So I thought we should create a online place where students, clubs, and departments can place all the announcements they have in one place instead of on the bulletin boards scattered around campus, where often it goes unnoticed.
What it does
This is a special kind of web application that allows University of Maryland Students to have all the announcements that they would ever need in one place. The app allows students to filter through the three categories that we have so far: clubs, departments, and selling. In the club category, you can see announcements from specific clubs, similarly for departments and sales. Using propel auth, we allow logins where logged in users can make posts onto different bulletin boards for others to all view. Searching is implemented where people can filter for title, specific user, or description/department.
How we built it
The web app was built using HTML, CSS, Node.JS, Propel Authentication, MongoDB, Flask, Docker, Amazon Web Services EC2. We ran development of the frontend on vite. Once ready for production we deployed the backend flask application into a docker container and then pulled from docker repo into the aws ec2 instance. We exposed the backend port to the configured port 80 for serving http requests.
Challenges we ran into
We ran into many challenges while working on this web app. For example MongoDB we had trouble connecting to its clusters for hours until one of us figured out about setting network access to 0.0.0.0. Another time was configuring docker and aws ec2 to run. Figuring the http ports, security settings, and configuration of the ec2 instance was extremely hard but very rewarding. Initally we tried to get the frontend running on vercel, but due to https communication with AWS breaking, we had to revert to running vite for the frontend until we reconfigure the AWS instance to handle secure requests with the docker container.
Accomplishments that we're proud of
We are proud of connecting our front end which is html, css, and js to Flask and node.js. We are proud that we containerized the backend of the app to AWS using an EC2 instance especially due to having limited experience with working in the cloud
What we learned
We learned a lot in terms of html, css, and js as none of us had any experience in them. We also learned how convenient it is to use propl auth to create user login which saved us a lot of time. We also learned how to use and dockerize EC2 instances to deploy the backend which uses Flask and MongoDB.
What's next for UMD-Bulletin Board
We are planning to add more features such as more departments, more side bar options as well as other suggestions that the community may have. We want to add regex searching for posts, deletion of posts, and partial phrase searching of the post. Plan to have AWS handle https requests instead of just http requests which will allow us to migrate the frontend hosting to cloud.
Log in or sign up for Devpost to join the conversation.