Modusin is a publishing network for learners
The goal of this app is to clone a Medium web app, called Modusin.
- Node.js
- React.js
- React Router
- React Redux
- Redux
- Redux Thunk / Redux Saga
- Netlify
- CloudFlare
- Uniregistry
srcindex.js: configures the whole React + Router + ReduxApp.js: sets the routes forpagesstyles: all global styles*.css
templates: wrapspagescomponents*.js: usually formatted asLayout*
pages: containslargecomponents*.js
large: containsmediumcomponents*.js
medium: containssmallcomponents*.js
small: contains primitive DOM components*.js
reduxstoresreducersactionscontainers
Install yarn with npm
npm install -g yarn
yarn installCreate .env file that contains:
REACT_APP_API_URL=http://localhost:3000
REACT_APP_JWT_SECRET=verysecrettextThis .env can be changed in production as well.
yarn devAlso run the backend API
yarn devyarn buildnode => react => react-scripts => react-app-rewired
GitHub => Netlify => CloudFlare => mhaidarhanif.org/modusin.com
yarn deploy| Route | Component |
|---|---|
/ |
home |
/post/:id |
post |
/register |
register |
/login |
login |
/profile |
profile |
/setting |
setting |
- Logo
- Topic
- SearchBox
- ActionButton
- ActionAvatar
- SectionTitle
- PostTitle
- PostImage
- PostSnippet
- Avatar
- MetaText
- MetaTextSmall
- FooterText
- ActionInput
- PageTitle
- PageSubtitle
- PageText
- ActionBar
- SearchBox
- ActionButton
- ActionAvatar
- TopicTags
- Array of Topic
- FeaturedPost
- PostTitle
- PostImage
- PostSnippet
- MetaText
- SmallPost
- PostTitle
- PostImage
- PostSnippet
- MetaText
- MetaTextSmall
- ProfileBar
- Avatar
- MetaText
- MetaTextSmall
- FooterTexts
- FooterText
- SegmentNavigationHeader
- Logo
- ActionBar
- TopicTags
- SegmentFeaturedPosts
- Array of FeaturedPost
- SegmentLatestPosts
- Array of SmallPost
- SegmentPostContent
- ProfileBar
- PostTitle
- PostImage
- PostTextContent
- Provider
- Router
- PageCommon
- PagePost
