Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sp1lu/newsapp

Simple rss reader capable of showing the latest news from rss sources and custom subreddits.
https://github.com/sp1lu/newsapp

ejs express feed mongodb nodejs rss-reader yelpcamp

Last synced: 3 days ago
JSON representation

Simple rss reader capable of showing the latest news from rss sources and custom subreddits.

Awesome Lists containing this project

README

        

# RSS Feed Reader
![Splash page](https://res.cloudinary.com/duuklscys/image/upload/v1700073532/Portfolio/newsly_landing_page_ponhzb.png)

## 📄 Index
* [About](#-about)
* [Built with](#-built-with)
* * [Frameworks and libraries](#frameworks-and-libraries)
* * [Languages](#languages)
* * [Software](#software)
* [Credits](#-credits)
* [Screenshot](#-screenshots)
* [Contacts](#-contacts)

## 🔰 About
Simple rss reader capable of showing the latest news from rss sources and custom subreddits.

The app is able to save user preferences in a MongoDB database so that everyone can use the application even on different devices without losing their feed sources.

The project was born with the intention of developing something customized after having followed the [Web Developer Bootcamp](https://www.udemy.com/course/the-web-developer-bootcamp/) course by [Colt Steele](https://github.com/Colt) without creating yet another version of the famous YelpCamp project developed during the course.

Direct link to the project: [newsly-u5hs.onrender.com](https://newsly-u5hs.onrender.com/)

First loading is slow because render.com free tier puts on standby unused projects

## 🔨 Built with
Here framework, libraries and technologies used for the realization of the project.

### Frameworks and libraries
* [Node.js](https://nodejs.org/)
* [MongoDB](https://www.mongodb.com/)
* [Atlas Database](https://www.mongodb.com/it-it/products/platform/atlas-database)
* [Express](https://expressjs.com/)
* [EJS templating](https://ejs.co/)
* [Cloudinary](https://cloudinary.com/): images storage
* [connect-flash](https://www.npmjs.com/package/connect-flash): show flash messages to user in case of errors or succesfull actions
* [connect-mongo](https://www.npmjs.com/package/connect-mongo): set, storage and read session to and from MongoDB
* [dotenv](https://www.npmjs.com/package/dotenv): read environment variables
* [express-session](https://www.npmjs.com/package/express-session): set session
* [Helmet](https://helmetjs.github.io/): base security and safety functions
* [Joi](https://joi.dev/): server side data validation
* [Mongoose](https://mongoosejs.com/): connect backend to MongoDB
* [node-sass](https://www.npmjs.com/package/node-sass): compile scss file to css
* [Passport](https://www.passportjs.org/): handle user authentication, providing username and password salt and hash
* [passport-local](https://www.passportjs.org/packages/passport-local/): handle local authentication with username and password
* [passport-local-mongoose](https://www.npmjs.com/package/passport-local-mongoose): connect Passport to MongoDB database
* [rss-parser](https://www.npmjs.com/package/rss-parser): parse rss fetched data

### Languages
* HTML
* SCSS
* JavaScript

## 🌟 Credits
Following some sources used as inspiration for the project.

* [Web Developer Bootcamp](https://www.udemy.com/course/the-web-developer-bootcamp/)
* [YelpCamp](https://github.com/Colt/YelpCamp)

## 📷 Screenshots
![Feed](https://res.cloudinary.com/duuklscys/image/upload/v1700073533/Portfolio/newsly_feed_wl7wg8.png)
![Sign up](https://res.cloudinary.com/duuklscys/image/upload/v1700073532/Portfolio/newsly_signup_ouyaph.png)
![Add custom feed source](https://res.cloudinary.com/duuklscys/image/upload/v1700073533/Portfolio/newsly_feed_add_custom_cpimdz.png)
![User preferences](https://res.cloudinary.com/duuklscys/image/upload/v1700073533/Portfolio/newsly_feed_preferences_oaytyl.png)

## 📮 Contacts
Here some places where you can find me.

* [Portfolio](https://daviderivolta.com/)
* [Dribbble](https://dribbble.com/spilu)
* [Behance](https://www.behance.net/spilu)
* [LinkedIn](https://www.linkedin.com/in/davide-rivolta/)