Skip to content

An example URL Shortener built using MongoDB, ExpressJS & ReactJS

License

Notifications You must be signed in to change notification settings

dewhurstwill/example-mongo-express-url-shortener

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

example-mongo-express-url-shortener

An example URL Shortener built using MongoDB, ExpressJS & ReactJS

Lines of Code Bugs Maintainability Rating Reliability Rating Security Rating Technical Debt Vulnerabilities

Includes API Server utilities:

  • morgan
    • HTTP request logger middleware for node.js
  • helmet
    • Helmet helps you secure your Express apps by setting various HTTP headers. It's not a silver bullet, but it can help!
  • @hapi/joi
    • Joi is a powerful schema description language and data validator for JavaScript
  • monk
    • Monk is middleware used for consuming MongoDB within Node.JS
  • nanoid
    • NanoId is a tiny, secure, URL-friendly, unique string ID generator for JavaScript
  • express-rate-limit
    • express-rate-limit is a basic rate-limiting middleware for Express

Development utilities:

  • dotenv
    • Dotenv is a zero-dependency module that loads environment variables from a .env file into process.env
  • nodemon
    • nodemon is a tool that helps develop node.js based applications by automatically restarting the node application when file changes in the directory are detected.
  • eslint
    • ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code.
  • mocha
    • ☕️ Simple, flexible, fun JavaScript test framework for Node.js & The Browser ☕️
  • supertest
    • HTTP assertions made easy via superagent.

Setup

Steps Action
Step 1. cd server
Step 2. npm install
Step 3. cd ../client
Step 4. yarn install
Step 5. npm run build
Step 6. Copy ./build to ../server/client/build
Step 7. cd ../server/client/build
Step 8. Edit index.html
Step 9. Format HTML
Step 10. Copy the JavaScript script that isn't in an external file to /static/js/core.js < this is to avoid a frontend error
Step 11. Replace the script with <script src="/static/js/core.js"></script>
Step 12. Set the MONGODB_URI to <mongo_server>/url-shortener
Step 13. npm run start

Development WebApp Server

npm run start

Development Backend Server

npm run dev

Hat-tip 🎩

Based-on create-react-app && create-express-api (https://www.npmjs.com/package/create-express-api) by CJ R. cj@null.computer (https://w3cj.now.sh)

Supporting

Please consider supporting my projects, the more caffine I have, the quicker I can type.

"Buy Me A Coffee"