Vlog - A Blogging Application
I made this blog app as my interview task for Ekbana. so, I've only done limited features that I was asked to do within 3 days. I hope you'll like this project and appreciate my effort.
Also, You can view the task list assigned to me as I have put it there for you.
Technologies Used 💻
Backend
- Express as Node.js web framework
- MongoDB as NoSQL Database
- Mongoose as ODM library
- JWT as a authentication library
Frontend
- Nextjs as a React framework
- Material-UI as a UI component library
- react-markdown as a markdown parser and renderer
Things to consider 🤔
- Used own Backend.
- Used JavaScript instead of TypeScript as I think for small projects and working alone, TypeScript is overkill.
- Used Nextjs SSR for fetching individual blog and blog list. (Also, replaced them with SSG in separate branch)
- Used Material-UI for fast and easier UI development.
- No State Management library is used as I was running out of time.
- UI is inspired by various design resources from internet.
- The whole app is responsive.
Quick Start 🚀
Clone the repo
git clone **https or ssh url**
Add a .env file in the root of server folder
NODE_ENV=development
PORT=8000
DATABASE=**your mongo database uri**
DATABASE_PASSWORD=**your mongo database password**
JWT_SECRET=**a secrect key**
JWT_EXPIRES_IN=90d
JWT_TOKEN_EXPIRES_IN=90
Install client dependencies
cd client
yarn or yarn install
Install server dependencies
cd server
yarn or yarn install
Run server in one terminal
cd server
yarn prod (Recommended when testing)
or
yarn dev (For local development, not recommended when testing)
Run client in another terminal
cd client
yarn build (I recommend to use Nextjs build version just for testing)
yarn start (After finish running **yarn build**)
or
yarn dev (For local development, not recommended when testing)
Check in browser on http://localhost:3000/
App Info ℹ️
Author
Version
1.0.0
License
This project is licensed under the MIT License.