DEV Community

Cover image for Thank.Codes - The Online Gratitude Journal
SuperZackX
SuperZackX

Posted on • Edited on

Thank.Codes - The Online Gratitude Journal

Overview of My Submission

Website Link: Link
Link to Code: Github
Submission Category: Choose Your Own Adventure
Atlas Tool Used: Atlas Search

The online gratitude journal is my submission for the MongoDB Atlas Hackathon. I created this project to spread a little joy in the world as the world went into lockdown. Sometimes we need to remember what we have, and we need to be thankful for that. Thank.codes is a place for people to express themselves and their gratitude.

The website is a place to share your gratitude. You can post a message like "I am thankful for my health." People can also share other's gratitude's as tweets by clicking on the tweet button. You can click on the username to see the user's gratitude journal, which has all the posts by him. I use MongoDB here by comparing the username given in the query to the documents stored in the DB and then displaying ones with same usernames as the one provided. You can also view your own gratitude journal by clicking on the link in the navbar.

I used NodeJS and Express for the backend of this app. I created an API which talks to my MongoDB database. The DB stores all the new posts created using a Mongoose Schema as a backbone. I use MongoDB's findById to find posts quickly through their Mongo IDs. Each MongoDB document contains three key-value pairs: The ID, The author's username, and the post's content. I make a request to my post route which then talks to MongoDB, storing my posts. I use Auth0 to perform logins and signups. I use MongoDB to filter through posts and find the ones from the user requested. I used Materialize CSS as a framework for making my website aesthetically appealing.

Front-End:

  • EJS
  • HTML5/CSS3
  • Materialize CSS
  • jQuery

Backend:

  • NodeJS
  • MongoDB Atlas
  • Auth0
  • ExpressJS

Tools Used:

  • MongoDB Atlas
  • Visual Studio Code
  • Ubuntu 21.04
  • Postman
  • Repl.it

I plan to start using the Data API, the new feature my MongoDB as it reduces my work and makes it much easier for my application to communicate with the database.

Link to Code

Link to Code

Additional Resources / Info

NodeJS - ExpressJS
Embedded JavaScript(EJS)
MongoDB Atlas find methods and search
RESTful API and CRUD Operations
HTML5/CSS3 with Materialize CSS
Repl.it

Screenshots/demo video

Welcome Page with CTA Button

Login page

Home Page

Video Link

Top comments (0)