How saeetarde/soullines_quotes works
SoulLines is a quote-sharing social platform. Users register or sign in, create image-backed quotes, then discover quotes through a personalized feed or text/tag search; they can like and save quotes, and manage profiles and dashboards. React routes expose these workflows, while Express routes dispatch requests through authentication where required to user controllers. Controllers use MongoDB models and Cloudinary for image uploads. The README documents capabilities beyond the sampled client pages and controller excerpts, so those are represented at subsystem level without guessing their internal wiring.
Main entry points: user.controllers.js User workflows · app.js HTTP server · App.js Client routes · SearchResultsPage.js Quote search
Components 21
React experience
- Client routes
client/src/App.js - Quote search
client/src/pages/SearchResultsPage.js - Quote cards
client/src/components/quoteCard.js - Account pages
client/src/pages/loginPage.js - User dashboards
client/src/pages/UserDashboard.js - Quote posting
client/src/pages/AddPost.js
HTTP API
- HTTP server
server/app.js - User endpoints
server/routes/user.routes.js - JWT verification
server/middlewares/auth.middlewares.js - User workflows
server/controllers/user.controllers.js - Health endpoint
server/controllers/healthCheck.controller.js
Quote domain
- User records
server/models/user.models.js - Quote posts
server/models/quotePost.models.js - Saved quotes
server/models/savedQuote.models.js - Quote likes
server/models/like.models.js - Interest tags
server/models/tag.models.js
Persistence and media
- MongoDB
- Media uploader
server/utils/cloudinary.js - Cloudinary
- Database connection
server/db/index.js
Other components
- User
Connections 23
- User → Client routes: uses
- Client routes → Quote search: routes to
- Client routes → Account pages: routes to
- Client routes → User dashboards: routes to
- Client routes → Quote posting: routes to
- Quote search → HTTP server: requests search
- Quote search → Quote cards: renders results
- Quote posting → HTTP server: submits quote
- User dashboards → HTTP server: requests dashboard
- Account pages → HTTP server: requests account
- HTTP server → User endpoints: mounts endpoints
- HTTP server → Health endpoint: mounts health
- User endpoints → JWT verification: guards requests
- User endpoints → User workflows: dispatches
- Database connection → MongoDB: connects
- User workflows → User records: reads and writes
- User workflows → Quote posts: reads and writes
- User workflows → Saved quotes: reads and writes
- User workflows → Quote likes: reads and writes
- User workflows → Interest tags: reads and writes
- JWT verification → User records: loads user
- User workflows → Media uploader: uploads images
- Media uploader → Cloudinary: stores media