Flash Point is a Node.js + Express.js backend for a news aggregation app that allows users to register, log in, save news articles, and retrieve personalized content. It communicates with a frontend client and external APIs such as News API.
https://github.com/Pavkv/flash_point_front
https://flashpoint.twilightparadox.com
The back-end is a Node.js and Express-based RESTful API that supports a React front-end application by providing the following functionality:
• Handles user registration and login with secure password hashing and JWT-based authentication • Allows authenticated users to save and delete articles in their personal collection • Stores user data and saved articles in a MongoDB database using Mongoose schemas • Fetches and formats news articles from the NewsAPI based on user queries • Implements request validation using Celebrate and Joi for robust data handling • Includes security and performance middleware such as Helmet, rate limiting, and CORS
The back-end is designed for scalability, secure data handling, and seamless integration with the front-end application.
- User registration and authentication (JWT)
- Secure password storage (bcrypt)
- Save/remove articles to user profiles
- Fetch news articles from NewsAPI
- Rate limiting and security middleware
- MongoDB for data persistence
- CORS protection and HTTPS-ready
- Node.js
- Express
- MongoDB (Mongoose)
- dotenv
- bcryptjs
- jsonwebtoken
- celebrate + Joi (validation)
- helmet, cors, rate-limit (security)
- winston + express-winston (logging)
This project is licensed under the ISC License.
Pasha Zobov 2025 © FLASH POINT
Feel free to add suggestions or submit issues via GitHub.