Portfolio for Dr Subhash Chandra Ghosh https://subhash.ghosh.pro
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Sudipto Ghosh 375a982783
added README.md
11 months ago
config updated deps 11 months ago
models 16 1 year ago
public 16 1 year ago
routes updated deps 11 months ago
views updated deps 11 months ago
.gitignore updated deps 11 months ago
README.md added README.md 11 months ago
package-lock.json updated deps to latest versions 11 months ago
package.json updated deps to latest versions 11 months ago
server.js updated deps 11 months ago
server.test.js initial commit 1 year ago
servertest.js initial commit 1 year ago

README.md

NodeJS Full Stack Portfolio

This template uses Sequelize, Express, Handlebars and Nodemailer as the core dependencies.

Example Deployment on subhash.ghosh.pro

Configuration

Create a file named vars.env in the root folder of the cloned repository with the following contents, changing the bits where necessary:

DATABASE_URL = <connection-string-to-db>
HEROKU_POSTGRESQL_NAVY_URL = <connection-string-to-db> [optional]
LOGDNA_KEY  = ["<logdna-api-key>"]
MAIL_SERVER = <smtp-server-hostname>
MAIL_PASS   = <smtp-password>
MAIL_USER   = <smtp-username>
MAIL_USER_CLIENT    = <mail-recipient>
MAIL_USER_NOREPLY   = <noreply-address>
MAPBOX_PUBLIC_TOKEN = "'<mapbox-api-token>'"
WFS_USER = <geoserver-credentials> [optional]
WFS_PASS = <geoserver-credentials> [optional]
WFS_URL  = <geoserver-hostname> [optional]
NODE_ENV = "production"

Note: All of the above variables are required for the template to work. If you need a less bloated version of this template, change the source files according to the use-case.

Deployment

On a host capable of running NodeJS applications, clone the repository and run the following commands to set-up the environment and install required dependencies:

cd scghosh
npm install

Create the configuration file (as given above) and design the database according to the schema as given below:

                     List of relations                     
 Schema |         Name          |   Type   |     Owner      
--------+-----------------------+----------+----------------
 public |     certifications    |  table   |    postgres
 public |     experiences       |  table   |    postgres
 public |     messages          |  table   |    postgres
 public |     projects          |  table   |    postgres
 public |     publications      |  table   |    postgres
 public |     testimonials      |  table   |    postgres
 public |     view_script       |  table   |    postgres
 public |     views             |  table   |    postgres

Certifications

    Column     |       Type        | Collation | Nullable |                  Default                   
---------------+-------------------+-----------+----------+--------------------------------------------
 id            | integer           |           | not null | nextval('certifications_id_seq'::regclass)
 cert_title    | character varying |           |          |  
 cert_duration | character varying |           |          | 
 cert_location | character varying |           |          |
Indexes:
    "certifications_pk" PRIMARY KEY, btree (id)

Experiences

    Column     |       Type        | Collation | Nullable |                  Default                   
---------------+-------------------+-----------+----------+--------------------------------------------
 id            | integer           |           | not null | nextval('experiences_id_seq'::regclass)
 title         | character varying |           |          |  
 designation   | character varying |           |          | 
 location      | character varying |           |          |
 duration      | character varying |           |          |
 url           | character varying |           |          |
Indexes:
    "experiences_pkey" PRIMARY KEY, btree (id)

Messages

    Column     |       Type        | Collation | Nullable |                  Default                   
---------------+-------------------+-----------+----------+--------------------------------------------
 id            | integer           |           | not null | nextval('messages_id_seq'::regclass)
 name          | character varying |           |          |  
 email         | character varying |           |          | 
 subject       | character varying |           |          |
 message       | text              |           |          |
 createdAt     | date              |           |          |
 updatedAt     | date              |           |          |
Indexes:
    "messages_pkey" PRIMARY KEY, btree (id)

Projects

Publications

Testimonials

View Scripts

Views

Author

Sudipto Ghosh

Portfolio: sudipto.ghosh.pro

This template is provided under the MIT License.