This is Ingress an easy to use MVP on entry management, Ingress was built using Node.js and MongoDB database using mongoose, It uses ejs (embedded javascript templates), it also supports sending EMAILS and SMS using nodemailer module and Nexmo API respectively, this project was implemented as my submission for the summergeeks 2020 internship challenge by Innovacer, It meets all the criterias as mentioned in the assignment provided by summergeeks.
Development
If you just want to do a simple test run of the application, you can first
- Clone the repository
$ git clone https://github.com/code-monk08/entry-management.git
- Install dependencies by using the following commands.
$ cd entry-management
$ sudo npm install
-
Obtain API Key & API Secret from Nexmo SMS API
-
create a
.env
file in root directory and assign the following environment variablesNOTE: don't version control your .env file, make sure .env is added in .gitignore file
$ cd entry-management
$ touch .env
$ echo "PORT={5001 or port of your choice}" >> .env
$ echo "SECRET={some secret message of your choice}" >> .env
$ echo "EMAIL={your email id}" >> .env
$ echo "PASSWORD={your email password}" >> .env
$ echo "NEXMOAPIKEY={your nexmo api key for sms}" >> .env
$ echo "NEXMOAPISECRET={your nexmo api secret for sms}" >> .env
- Finally run the application using
$ mongod
$ node app.js
- Below is the current file structure.
.
βββ app.js
βββ node_modules
βββ config
β βββ auth.js
β βββ keys.js
β βββ passport.js
βββ LICENSE
βββ logo
β βββ Ingress.png
βββ models
β βββ Host.js
β βββ Visitor.js
βββ package.json
βββ package-lock.json
βββ README.md
βββ routes
β βββ hosts.js
β βββ index.js
βββ views
βββ dashboard.ejs
βββ layout.ejs
βββ login.ejs
βββ partials
β βββ messages.ejs
βββ register.ejs
βββ welcome.ejs
7 directories, 19 files
- Dependency Graph
- Code Style
In order to maintain the code style consistency across entire project I use a code linter. Therefore, I kindly suggest you to do the same whenever you push commits to this project.
The JavaScript code linter I use is called eslint, ESLint requires Node.js and works on Windows, Mac and Linux
$ npm install eslint --save
- Usage
$ eslint . --fix
For more details and available options, please check the eslint website.
- Close Issues
Close issues using keywords: how to ?
Logo used in this document is credited to Ingress Icon by Icons8