saloni-15 / 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.

Home Page:https://word-nook.herokuapp.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WordNook


A sneak peek into what we have here

wordnook


About-

Forks Stars GitHub issues GitHub PRs Dependabot Status

All Contributors

Discord

  • '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.

Edit with Gitpod

  • 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: JavaScript HTML5 CSS3

  • Tools & Frameworks: NodeJS Express.js MongoDB Mongoose EJS template engine

  • Project Management Tools: GitHub Git


Environment Setup for local use-

  • Drop a ⭐ on the GitHub repository.

  • Download Git (when you install Git, Git Bash also gets installed by default)

Option 1 (Installation using NPM and MongoDB)



  • 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)

  • Clone the repository by running command
git clone https://github.com/<your user-name>/WordNook.git

in your git bash.

  • Run command cd WordNook.

  • Run this command to install all dependencies for the project.
npm install

  • Adding secret key for JWT auth.
    • Run this command when inside the root directory to make a .env file.
    touch .env
    
    • Now add this to the .env file
    SECRET_KEY = AlphaVio
    URL = mongodb://localhost:27017/wordnookDB
    NODE_ENV= 'development'
    

  • Testing : Run this command on your terminal/ bash to start the Mongo server on port 27017(default).
mongod

  • Run this command to start the project.
npm start

or

  • Run this command to start the project as a developer.
npm run dev

  • Open link to view the website in your browser window if it doesn't open automatically.
http://localhost:3000/

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.

  • Run command 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.

  • Check out our docker image at DockerHub: Wordnook Image or you can directly search wordnook on 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


  • 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


Note -

    • If your git shows an issue with your package-lock.json while 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.json file and run npm install again to fix the issue.

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>

Open Source Events Project is associated with:

1. JGEC Winter of Code

  • 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.

2. Mexili Winter of Code

  • Mexili is a Free and Open Source organization whose motivation is to funnel learning and implementation through Open Source Software Development.

3. GirlScript Summer of Code

  • 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.

4. PClub Summer of Code

  • 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 .

5. Let's Grow More Summer of Code

  • 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 from the open source community.

Maintainers ✨


Pranav Mendiratta

πŸ’»πŸ“– 🚧

Ananya Negi

πŸ’» πŸ“– 🚧

Rushan Khan

πŸ’» πŸ“– 🚧

Pranav Singh

πŸ’»πŸ“– 🚧

Ayush Jain

πŸ’» πŸ“– 🚧

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Anubhab Sarkar

🎨

Subhra264

πŸ’»

Sahil Saha

πŸ’»

uttu2

πŸ“–

pankaj kumar bijarniya

πŸ“– πŸ’»

Niveditha Palli

πŸ–‹ πŸ’»

Lucky kumari

πŸ“– πŸ’»

kanhaiya lal

πŸ’»

Tushar Jain

πŸ“– πŸ’»

Karun Karthik

πŸ’»

Harshit Aditya

πŸ’»

Aayush Garg

πŸ“– πŸ’»

Abhijay Jain

πŸ’» πŸ“–

Monojit Chakraborty

πŸ’»

Ankita297

πŸ’» πŸ“–

Aniket Lodh

πŸ’»

Monika Jha

πŸ’»

vismitap

πŸ’»

Ananya Negi

πŸ’» πŸ“– 🚧

Rushan Khan

πŸ’» πŸ“– 🚧

Ayush Jain

πŸ’» πŸ“–

Aanchal Rakheja

πŸ’» 🎨

Pranav Singh

πŸ’»

Tanishq Arya

πŸ’»

Satyam Singh

πŸ’»

Soumya Singh

πŸ’»

Osama Magdy

πŸ’»

Rhythm Verma

πŸ’»

This project follows the all-contributors specification. Contributions of any kind welcome!


Stargazers over time 🌟

Stargazers over time

About

Dynamically updating blogging website to upload articles and blog posts on various topics, developed using ejs template engine and node js in the backend.

https://word-nook.herokuapp.com/

License:MIT License


Languages

Language:EJS 48.8%Language:JavaScript 32.6%Language:CSS 16.9%Language:HTML 1.5%Language:Shell 0.2%Language:Dockerfile 0.1%