This is a social news website serving as the frontend to the NC-Knews API for which the git can be found here.
The application allows you to post articles to new or existing topics and comment + vote on the articles.
It is assumed that VS code (or another appropriate alternative) runs on your machine.
You also need node (at least v11.0.0) and npm (at least version 6.4.1) installed on your machine.
Fork the project from git. Then copy the git url and in the appropriate folder on your machine:
git clone <url from git>
This will create the project on your local machine. Open the project in VS code (or alternative app).
Run the following to install body-parser, chai, express, nodemon, knex, mocha, pg & supertest.
npm install
Once all required dependencies are installed, you can check the node_modules folder (which should be created now) to see if the folders for each of these libraries exists.
Coming soon...
To run the app:
npm start
The front-end was developed using React and most of the styling was done via React Bootstrap. I considered other frameworks such as semantics but I preferred the styling provided by React Bootstrap.
Because the back-end returns paginated results, I had a choice to implement infinite scrolling or pagination. I initially started with infinite scrolling but ran into issues so I switched to pagination then revisited infinite scrolling. The website now has infinite scrolling and shouldn't take more than half a second before it begins loading the new set of data.
Testing was done with Cypress. Given the limited time, not all of the test cases were incorporated.
The database holding the article info is Postgres and Express was used to build the server. Supertest, Mocha and Chai were used for testing.
A Trello board was used to track the todo list.
- Fatmeh Shuman - theshumanator