WordNook
Dynamically updating blogging website to upload articles and blog posts on various topics, developed using ejs template engine and node js in the backend.
Install / Use
/learn @Pranav016/WordNookREADME

About-
<!-- **DeepSource:** [](https://deepsource.io/gh/ALPHAVIO/WordNook/?ref=repository-badge) --> <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> <!-- ALL-CONTRIBUTORS-BADGE:END -->- 'Blog' and 'blogging' are now loosely used for content creation and sharing on social media, especially when the content is long-form and one creates and shares content on regular basis.
- This is a dynamically updating Blog posting website developed primarily using Node Js with EJS template engine and Mongoose as ODM(Object Data Modeling library).
Visit website
Technology Stack 🛠️
-
Coding Languages: <img alt="JavaScript" src="https://img.shields.io/badge/javascript%20-%23323330.svg?&style=for-the-badge&logo=javascript&logoColor=%23F7DF1E"/> <img alt="HTML5" src="https://img.shields.io/badge/html5%20-%23E34F26.svg?&style=for-the-badge&logo=html5&logoColor=white"/> <img alt="CSS3" src="https://img.shields.io/badge/css3%20-%231572B6.svg?&style=for-the-badge&logo=css3&logoColor=white"/>
-
Tools & Frameworks: <img alt="NodeJS" src="https://img.shields.io/badge/node.js%20-%2343853D.svg?&style=for-the-badge&logo=node.js&logoColor=white"/> <img alt="Express.js" src="https://img.shields.io/badge/express.js%20-%23404d59.svg?&style=for-the-badge"/> <img alt="MongoDB" src ="https://img.shields.io/badge/MongoDB-%234ea94b.svg?&style=for-the-badge&logo=mongodb&logoColor=white"/> <img alt="Mongoose" src ="https://img.shields.io/badge/Mongoose-%234ea94b.svg?&style=for-the-badge&logo=Mongoose&logoColor=white"/> <img alt="EJS template engine" src="https://img.shields.io/badge/EJS template engine%20-%23039BE5.svg?&style=for-the-badge&logo=EJStemplateengine"/>
-
Project Management Tools: <img alt="GitHub" src="https://img.shields.io/badge/github%20-%23121011.svg?&style=for-the-badge&logo=github&logoColor=white"/> <img alt="Git" src="https://img.shields.io/badge/git%20-%23F05033.svg?&style=for-the-badge&logo=git&logoColor=white"/>
Environment Setup for local use-
-
Drop a :star: on the GitHub repository.
<br/> -
Download Git (when you install Git, Git Bash also gets installed by default)
<br/> -
Download and install a code/ text editor.
- Recommended-
- Download VS Code
- Download Atom <br/> <br/>
- Recommended-
Option 1 (Installation using NPM and MongoDB)
-
Download Node Js and npm(Node package manager) (when you install Node, npm also gets installed by default)
<br/> -
Mongo DB community editition is free and a great software in order to work with MongoDB applications. Download Mongo DB community editition
<br/> -
Robo 3T is a desktop graphical user interface (GUI) for Mongo DB. It can help to skip running all the Mongo DB commands manually every time we want to access the data. Download Robo 3T (optional)
<br/> -
Clone the repository by running command
git clone https://github.com/<your user-name>/WordNook.git
in your git bash. <br/>
-
Run command
<br/>cd WordNook. -
Run this command to install all dependencies for the project.
npm install
<br/>
- Adding secret key for JWT auth.
- Run this command when inside the root directory to make a
.envfile.
touch .env- Now add this to the
.envfile
SECRET_KEY = AlphaVio URL = mongodb://localhost:27017/wordnookDB NODE_ENV= 'development' - Run this command when inside the root directory to make a
- Testing : Run this command on your terminal/ bash to start the Mongo server on port 27017(default).
mongod
<br/>
- Run this command to start the project.
npm start
or
- Run this command to start the project as a developer.
npm run dev
<br/>
- Open link to view the website in your browser window if it doesn't open automatically.
http://localhost:3000/
<br/>
Option 2 (Installation using Docker)
-
Download and install Docker.
-
Clone the repository by running command
git clone https://github.com/<your user-name>/WordNook.git
in your git bash. <br/>
-
Run command
<br/>cd WordNook. -
Run this command to start the project:
docker-compose up --build
- Now explore the project and make the changes as you want. Once the changes are made then run the following command again:
docker-compose up --build
This would again create a new image with your changes and will use it to start the containers. Now when you visit http://localhost:3000/ you would see your changes.
- Once you are satisfied and want to make a PR then run following command:
docker-compose down
This would stop all the running containers and will also delete them. <br/><br/>
-
Check out our docker image at DockerHub: Wordnook Image or you can directly search
wordnookon DockerHub (This just for your reference and is not required for installation) -
You can learn more about Docker and its implementation at Docker Documentation
-
You can learn more about EJS template engine and its syntax to know how we can use it inside our HTML using the documentation
<br/> -
Now you are all set to use this project.
Some useful Mongo DB commands if you are using the terminal instead of the GUI-
show dbs
use db <db name>
show collections
<db name> .find()
Project Deployed on Heroku : Visit WordNook
<hr>Note -
<!-- 1. **You must lint your code before making any Pull Request** - To check for any linting errors, run command: ``` npm run lint-check ``` - To fix linting errors, run command: ``` npm run lint ``` **Check again for any errors that need to be resolved manually and if the application works fine after you lint the code.** -->-
- If your git shows an issue with your
package-lock.jsonwhile installing dependencies or throws error that lockfile version-2 is not compatible with your system Then check your npm version by running command
npm --version-
npm version should be 7 and above for lockfile version-2 that would come by default if you have a node version 15 and above.
List of Node.js releases and corresponding npm versions -
After upgrading your npm version, you can delete your
package-lock.jsonfile and runnpm installagain to fix the issue.
- If your git shows an issue with your
Disclaimer-
The Contact Us feature might not work in the local environment since the API-Key has not been shared. If you still want to work on it, generate your own API key from Mail Gun and include it in the .env file as
MAILGUN_API_KEY = <your-api-key>
<hr>
Open Source Events Project is associated with:
<img align="right" src="assets/event1.png" width = "120" height = "100"><b>1. JGEC Winter of Code</b>
- JWoC ( JGEC Winter of Code) is a program organised by Developers JGEC in collaboration with Sristi 2020 which helps students to plunge into the realm of Open Source contribution and Software Development.
<img align="right" src="assets/event2.png" width = "120" height = "100"><b>2. Mexili Winter of Code</b>
- Mexili is a Free and Open Source organization whose motivation is to funnel learning and implementation through Open Source Software Development.
<img align="right" src="assets/event3.png" width = "120" height = "100"><b>3. GirlScript Summer of Code</b>
- GirlScript Summer of Code is the 3 month long Open Source program conducted by GirlScript Foundation, started in 2018, with an aim to help beginners get started with Open Source Development while encouraging diversity.
<img align="right" src="assets\event4.png" width = "120" height = "100"><b>4. PClub Summer of Code</b>
- PSOC( PClub Summer of Code ) is the 2 month long Open Source program during summers conducted by Programming Club, UIET, with an aim to help beginners get started with Open Source Development while encouraging Diversity .
<img align="right" src="assets\event5.png" width = "120" height = "100"><b>5. Let's Grow More Summer of Code</b>
- Let's Grow More Summer of Code is a one month long Open Source program organized by LetsGrowMore Community to encourage student participation in open source software development under the guidance of mentors
Related Skills
node-connect
346.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
346.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
346.8kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
