Inspiration

This online flea market is not only about online transactions or shopping, instead, I hope this can provide a platform to meet fellow students, so all transactions happen in person. Inspired by a post on our #community channel on slack, I think passing and selling your used textbooks can be a great way to meet fellow students. It is not only true for MCIT program but for all programs and schools, as we are all social distancing in this pandemic, a traditional on-campus flea market is no longer feasible, therefore I came up with this platform, on which transactions only takes 2 people to complete, so it's easy to social and social distancing.

What it does

1.User can post items on this website for sell

2. User can send messages to a seller through this website to purchase an item in person

all information is managed by MongoDB database

It provides a platform for students to trade textbooks, notes and school essentials with other students

How I built it

I built it with Java Spring framework + thymeleaf + mongoDB mainly, UI is designed with https://templatemo.com/.

Challenges I ran into

Never built a wep app before, so I learned the basis of web and database all by myself by watching numerous tutorials, experimenting, and searching solutions online.

  1. Configurations of mongoDB, connecting and starting mongoDB

  2. Configure Java Spring Boot Dependencies

  3. Understand dependency injection, and use it in Controller.java class to control actions/operations of the entire app.

  4. Use Optional class (it's the return type of the database's findById( ) method).

  5. How to allow user to upload/submit information via forms on webpage, and store it in the database.

  6. How to send Emails.

  7. Incorporate thymeleaf into html files. (a very useful and powerful tool)

Accomplishments that I'm proud of

Basically solved all the problems listed above all by myself

What I learned

Learned the front-end and back-end of a web app, built a website from scratch.

What's next for MCIT Online Flea Market

Allow users to register, keep their profile and manage their listings.

Allow users to upload multiple images, and crop images.

Allow users to chat instant online, and can send each other files.

What my website looks like

alt text

alt text

alt text

alt text

alt text

Share this project:

Updates