Skip to content

A Node.js + React message board that takes messages from user and determine if the given input is a Palindrome.

Notifications You must be signed in to change notification settings

JerryFZhang/Palindrome

Repository files navigation

Palindrome

This a NodeJS + React App that takes user input and see if the input is Palindrome. The app can store all past entries and their posted time. The user would have the ability to remove any entry by a click of a button. The app users MERN stack and MVVM architecture.

How to start the server

  1. Make sure MongoDB is installed, and start mongoDB by typing mongod in the command line.

  2. Make sure Node and NPM are installed by typing node -v in the command line. If NPM is not installed please proceed to this page to install Node.

  3. Clone or download the repo to the local machine.

  4. cd to the folder where the backend is in, for example, cd ~/Downloads/Palindrome/backend or cd C:\\GitHub\Palindrome\backend

  5. Install project dependency by typing in npm install.

  6. Start the server by typing npm start.

  7. Open a new terminal tab

  8. cd to the folder where the frontend code is in, for example, cd ~/Downloads/Palindrome/frontend or cd C:\\GitHub\Palindrome\frontend.

  9. Install project dependency by typing in npm install.

  10. Start the server by typing npm start.

  11. Visit the app from localhost:3000

Technology

Architecture

Backend

Node.js and Express.js are used to setup routing and request handling. With the help of other open source NPM packages.

Front-end

Bootstrap is used as the UI framework, it provides tons of features to make web application adapt to different screen sizes and aspect ratios.

Hosting Platform

The Application will be hosted on Linode, a cloud platform that provides fast Linux server, the benefit of using Linode is versatility and scalability. Many CPU, memory, and server location configurations are available to choose based on different needs.

Database:

MongoDB is a non-relational database designed to be high-performance and easy to implement, the NPM package Mongoose is used connect to the database and perform Create, Read, Delete operations.

Privisioning Tool

API Doc:

The API documentation is stored as Palindrome.postman_collection.json in the root folder. Make sure Postman is installed and import the JSON file as a collection. You can start the API request right from Postman

Sequence diagram

Can be found in the roor folder sequenceDiagram.pdf.

About

A Node.js + React message board that takes messages from user and determine if the given input is a Palindrome.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published