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
6 months ago
config updated deps 7 months ago
models 16 11 months ago
public 16 11 months ago
routes updated deps 7 months ago
views updated deps 7 months ago
.gitignore updated deps 7 months ago
README.md added README.md 6 months ago
package-lock.json updated deps to latest versions 7 months ago
package.json updated deps to latest versions 7 months ago
server.js updated deps 7 months ago
server.test.js initial commit 11 months ago
servertest.js initial commit 11 months 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.