is a React mini-CMS that allows authenticated users to submit design history entries to be stored and served from a MongoDB collection for easy creation and viewing.
Before submitting a post, a user must have a valid session ID, which automatically expires after a set time and is only given if the salted, hashed, and encrypted password matches a known user in the database.
Posts consist of text, images, and a date.
- An option for authenticated users to edit post text is in the works.
- The images are stored in a MongoDB GridFS bucket and are served when each post is requested. A better, faster, more cache-friendly design is also in the works.
- The date is used to generate an anchored table of contents. If the user wants to see what entries were submitted on a specific day, they can click on that date and it brings them to the appropriate post on the same page.
Communication with the auth and posts MongoDB collections happens through calls to the (soon-to-be RESTful) proprietary MongoAPI project made for this site. MongoAPI uses the Java Spark library to route requests to custom MongoDB helper functions for post creation and authentication.