Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ppalone/crypt
㊙️ A secret & secure place where you can only view your blogs 📝.
https://github.com/ppalone/crypt
ejs express hacktoberfest mongodb mongoose nodejs passportjs sendgrid
Last synced: 2 months ago
JSON representation
㊙️ A secret & secure place where you can only view your blogs 📝.
- Host: GitHub
- URL: https://github.com/ppalone/crypt
- Owner: ppalone
- License: mit
- Created: 2020-05-27T14:09:11.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-03-05T12:23:35.000Z (almost 2 years ago)
- Last Synced: 2024-09-29T07:21:28.800Z (3 months ago)
- Topics: ejs, express, hacktoberfest, mongodb, mongoose, nodejs, passportjs, sendgrid
- Language: JavaScript
- Homepage: https://crypt.ppalone.me/
- Size: 2.44 MB
- Stars: 20
- Watchers: 2
- Forks: 6
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Crypt
㊙ A secret & secure place where you only can view your blogs 📝
## Features 🍰
- [x] Secure Authentication and Authorization with passport.js and express sessions
- [x] Email verification
- [x] Prevention from bots
- [x] Reset password
- [x] Change password
- [x] Filtering blogs
- [ ] Search blogs## How to run on your local machine?
- Make sure you have node installed on your machine.
- Clone the repository and install the dependenies.```
npm install
```- Rename `.env.example` to `.env`
- Add your environmental variables in `.env` file```
MONGO_URI - obtained from Mongodb atlas or put uri of your local mongo server
SENDGRID_API_KEY - obtained from sendgrid
SENDGRID_FROM - registered email at sendgrid
DOMAIN_URL - your localhost port eg. http://localhost:8000
GOOGLE_RECAPTCHA_SECRET - obtained from the Google recaptcha v2
SESSION_SECRET - a random string (Eg. 'randomsecret')
```- Run the project
```
npm run start
```- Format code
```
npm run format
```## Project Structure
```
├── config
│ ├── database.js
│ └── passport.js
├── controllers
│ ├── auth
│ │ └── auth.js
│ ├── blogs
│ │ └── blogs.js
│ ├── forget
│ │ └── forget.js
│ ├── profile
│ │ └── profile.js
│ ├── reset
│ │ └── reset.js
│ └── verify
│ └── verify.js
├── index.js
├── middlewares
│ ├── auth.js
│ └── ratelimiter.js
├── models
│ ├── Blog.js
│ ├── Token.js
│ └── User.js
├── package.json
├── package-lock.json
├── public
│ ├── css
│ │ └── style.css
│ └── js
│ └── app.js
├── README.md
├── routes
│ ├── auth.js
│ ├── blogs.js
│ ├── forget.js
│ ├── index.js
│ ├── profile.js
│ ├── reset.js
│ └── verify.js
├── services
│ └── sendgrid.js
├── utils
│ └── date.js
├── validators
│ └── validators.js
└── views
├── auth
│ ├── login.ejs
│ └── register.ejs
├── blogs
│ ├── add.ejs
│ ├── blog.ejs
│ ├── blogs.ejs
│ └── edit.ejs
├── errors
│ └── 404.ejs
├── forget
│ └── forget.ejs
├── index.ejs
├── partials
│ ├── footer.ejs
│ ├── header.ejs
│ ├── messages.ejs
│ └── navbar.ejs
├── profile
│ ├── changepassword.ejs
│ └── profile.ejs
└── reset
└── reset.ejs
```## Contributors
Made with [contributors-img](https://contrib.rocks).