Code Monkey home page Code Monkey logo

pgt-personal-library's Introduction

FreeCodeCamp- Information Security and Quality Assurance

Objective

  • Build a full stack JavaScript app that is functionally similar to this: https://spark-cathedral.glitch.me/.

  • ADD YOUR MongoDB connection string to .env without quotes as db example: DB=mongodb://admin:[email protected]:1234/fccpersonallib

  • SET NODE_ENV to test without quotes

  • You need to create all routes within routes/api.js

  • You will add any security features to server.js

  • You will create all of the functional tests in tests/2_functional-tests.js

FCC-Personal-Library

User Stories

  • Nothing from my website will be cached in my client as a security measure.

  • I will see that the site is powered by 'PHP 4.2.0' even though it isn't as a security measure.

  • I can post a title to /api/books to add a book and returned will be the object with the title and a unique \_id.

  • I can get /api/books to retrieve an aray of all books containing title, _id, & commentcount.

  • I can get /api/books/{\_id} to retrieve a single object of a book containing title, _id, & an array of comments (empty array if no comments present).

  • I can post a comment to /api/books/{\_id} to add a comment to a book and returned will be the books object similar to get /api/books/{\_id}.

  • I can delete /api/books/{\_id} to delete a book from the collection. Returned will be 'delete successful' if successful.

  • If I try to request a book that doesn't exist I will get a 'no book exists' message.

  • I can send a delete request to /api/books to delete all books in the database. Returned will be 'complete delete successful' if successful.

  • All 6 functional tests requiered are complete and passing.

API GET POST DELETE
/api/books list all books add new book delete all books
/api/books/1234 show book 1234 add comment to 1234 delete 1234

Technologies

  • Node
  • Express
  • Helmet
  • Mocha-Chai
  • Bootstrap
  • javascript
  • Html

Project Structure:

├── assertion-analyser.js
├── database
│   └── db.js
├── package.json
├── package-lock.json
├── public
│   ├── client.js
│   ├── favicon.ico
│   └── style.css
├── README.md
├── routes
│   ├── api.js
│   └── fcctesting.js
├── server.js
├── test-runner.js
├── tests
│   ├── 1_unit-tests.js
│   └── 2_functional-tests.js
└── views
    └── index.html

Local Dev

  • clone the repo
  • cd pgt-personal-library
  • npm install
  • node start

Author:

pgt-personal-library's People

Contributors

avatarfreak avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.