Online News
A simple server-rendered web application that displays new articles, with an authentication and OAuth flow.
Published onUpdated on
1.02
ejs
express
postgresql
s3
tailwindcss
Overview
The homepage of an online news group, The Cipher, a project by a group of 5 talented (this is questionable) young men and 1 cute girl.
The girl’s role:
- Frontend:
- All admin pages
- Create Post form
- View Posts
- Backend: Some small routing towards pages for AJAX.
- Git Master
- VPS Manager / Deployer
- S3 Manager
- Tester
Architecture
Application
- Backend Handler: ExpressJS
- Programming Language: JavaScript
- Runtime: NodeJS (preferably v22)
- Renderer: EJS
Platforms
- Database: MongoDB (hosted on Mongo Atlas)
- Image Storage: Amazon S3-compliant package (hosted on Contabo)
- Node Server: nginx on a VPS (hosted on Contabo)
- Email Server: SMTP-compliant service (hosted on PurelyMail)
Budget: (it’s all my money)
- $2.99: Image Storage
- $4.99: VPS
- $9.99: Email Service
Routes
/: Home page/category: Posts in categories page:/category/:parent: Shows posts in the parent category and all of its children categories./category/:parent/:id: Shows posts in only the child’s category.
/tag: List posts tagged/tag/:id: List all posts tagged with that ID.
/search: Search for posts (search.ejs)/post:/: Upload a new post, clearance level 2./:id: Query for a post./image: POST route for uploading images from TinyMCE. There is no GET route for this, clearance level 2.
/posts: See all of my works, including drafts, denied, etc. clearance level 2./profile: See my profile, clearance level 1./login: Login form./register: Register form./edit: Edit a post./editorial: Editorial tools, for approving/denying posts, clearance level 3./admin: Administrator pages, all here have clearance level 4./admin/categories: Manage categories/admin/tags: Manage tags/admin/posts: Manage posts/admin/users: Manage users