Skip to content

Latest commit

 

History

History
90 lines (56 loc) · 3.58 KB

README.md

File metadata and controls

90 lines (56 loc) · 3.58 KB

News-App-MERN-stack

About

I've created responsive website for news article search, list and preview. GNews API was used to search for articles from a variety of sources, including Google News. Front-end was created with React library using Material-UI components, back-end was created with Node.js and MongoDB Atlas Cloud Database, which logs user actions (search queries and opened articles data) to the cloud database. The app is deployed in

Live demo

GIF

project-gif

Table of contents

Technologies

Front-end:

  • JavaScript ES6 + React + Material-UI

Back-end:

  • Node.js + Express + MongoDB Atlas Cloud Database

Setup for local development

Get your local copy of the repository by cloning or forking.

If not yet installed, get Node JS and npm. Install project package dependencies in the server directory and in the client directory - run npm install in the terminal.

App configuration values are stored in the .env files. For your local build, rename .env.sample files to .env in both server and client directories, this is where you set your custom app values (secrets).

To get REACT_APP_API_KEY value visit GNews, create an account and replace <your_api_key> to your API-Token (API-Key) value in .env file in the client directory.

To get MONGODB_CONNECTION_STRING value visit MongoDB, create an account and follow instructions to create a free Atlas Cloud Database - Cluster. Then replace <password> to your database password value and <databaseName> to your database name in .env file in the server directory.

To start back-end development version - run npm run server in the terminal in the server directory.

To start front-end development version - run npm start in the terminal in the client directory.

If you find any bug or would like to add a new feature to the codebase, please create an issue and commit your changes.

Status

The project is: finished.

Contact

Created by @Lukas Krisikaitis - feel free to contact me on LinkedIn!

License

MIT License - Copyright (c) 2021 Lukas Krisikaitis