https://github.com/deviant101/insight360
Get a 360 degree view of world news with in-depth reports & experts' analysis
https://github.com/deviant101/insight360
Last synced: 12 months ago
JSON representation
Get a 360 degree view of world news with in-depth reports & experts' analysis
- Host: GitHub
- URL: https://github.com/deviant101/insight360
- Owner: deviant101
- License: mit
- Created: 2024-10-23T11:43:44.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-05-17T10:02:17.000Z (about 1 year ago)
- Last Synced: 2025-05-17T11:19:12.790Z (about 1 year ago)
- Language: JavaScript
- Size: 280 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Insight360
Insight360 is a news website that provides the latest updates on various topics including technology, science, sports, entertainment, business, and health. The website features a video gallery, news articles, and a newsletter subscription.
## Table of Contents
- [Features](#features)
- [Project Structure](#project-structure)
- [Installation](#installation)
- [Environment Variables](#environment-variables)
- [Running the Project](#running-the-project)
- [API Endpoints](#api-endpoints)
- [Technologies Used](#technologies-used)
- [Contributing](#contributing)
- [License](#license)
## Features
- Display latest news articles by category
- Video gallery with featured and other videos
- User authentication (Sign Up, Sign In)
- Newsletter subscription
- Responsive design
## Project Structure
The project structure is as follows:
```
insight360/
├── backend/
│ ├── controllers/
│ │ └── authController.js
│ ├── models/
│ │ └── User.js
│ ├── routes/
│ │ └── authRoutes.js
│ ├── .env
│ ├── .gitignore
│ ├── docker-compose.yml
│ ├── package.json
│ └── server.js
├── frontend/
│ ├── public/
│ │ ├── index.html
│ │ ├── manifest.json
│ │ └── robots.txt
│ ├── src/
│ │ ├── assets/
│ │ ├── components/
│ │ │ ├── Footer.css
│ │ │ ├── Footer.jsx
│ │ │ ├── Header.css
│ │ │ ├── Header.jsx
│ │ │ ├── MainSection.css
│ │ │ ├── MainSection.jsx
│ │ │ ├── Newsletter.css
│ │ │ ├── Newsletter.jsx
│ │ │ ├── NewsList.css
│ │ │ ├── NewsList.jsx
│ │ │ ├── SearchArticle.css
│ │ │ ├── SearchArticle.jsx
│ │ │ ├── SignIn.css
│ │ │ ├── SignIn.jsx
│ │ │ ├── SignUp.css
│ │ │ ├── SignUp.jsx
│ │ │ ├── VideoGallery.css
│ │ │ └── VideoGallery.jsx
│ │ ├── context/
│ │ │ └── AuthContext.js
│ │ ├── App.css
│ │ ├── App.js
│ │ ├── App.test.js
│ │ ├── index.css
│ │ ├── index.js
│ │ ├── reportWebVitals.js
│ │ └── setupTests.js
│ ├── .env
│ └── package.json
├── .gitignore
└── README.md
```
## Installation
1. Clone the repository:
```sh
git clone https://github.com/deviant101/insight360.git
cd insight360
```
2. Install dependencies for the frontend:
```sh
cd frontend
npm install
```
3. Install dependencies for the backend:
```sh
cd backend
npm install
```
## Environment Variables
Create a `.env` file in the `backend` directory and add the following environment variables:
```sh
MONGO_URI=
JWT_SECRET=
PORT=5000
```
Create a `.env` file in the `frontend` directory and add the following environment variables:
```sh
REACT_APP_NEWS_KEY=
```
Create a .env file in your project root with the following:
```sh
REACT_APP_NEWS_API_KEY=
```
## Running the Project
1. Start the backend server:
```sh
cd backend
npm start
```
2. Start the frontend development server:
```sh
cd frontend
npm start
```
3. Open your browser and navigate to `http://localhost:3000`
## API Endpoints
### Authentication
- `POST /api/auth/register` - Register a new user
- `POST /api/auth/login` - Login a user
## Technologies Used
- Frontend:
- React
- Axios
- React Router DOM
- Backend:
- Node.js
- Express
- MongoDB
- Mongoose
- JWT (JSON Web Token)
- bcrypt
## Contributing
Contributions are welcome! Please fork the repository and create a pull request with your changes.
## License
This project is licensed under the [MIT License](LICENSE).