GithubHelp home page GithubHelp logo

nexusnews's Introduction

💻 NexusNews 🗞️

Index

Description

Nexus News is a web application designed for browsing and creating technology news. It is developed using React in the frontend, with JavaScript, and TypeScript in the backend.

Upon launching the application, a login form is presented allowing access as either an administrator or user. Additionally, a registration form is provided to create a user account, which generates an access token necessary for viewing and creating news.

Registered users can access the platform to view and create news. As an administrator, you have additional access to edit and delete news, in addition to the viewing and creation functions available to regular users.

Project Configuration

  1. Clone the Repository:
  • Copy code in your terminal:
    git clone https://github.com/FatimaCapilla/nexusnews.git
    
  1. Create the file .env
  • Create the file .env located in the folder "Server"
  • Copy the information placed on ´.env_example´ and fill it with your personal data
  1. Install Dependencies:
  • Copy code in your terminal to enter in the repository back folder:

    cd server
    
  • Copy code in your terminal:

    npm install
    
    
  • Copy code to make the server run:

    npm run dev
    

    This will start the server http://localhost:3000 using the database on MySQL Workbench.

  • Copy code in your terminal to enter in the repository front folder:

    cd client
    
  • Copy code in your terminal:

    npm install
    
  • Copy code to make the server run:

    npm run dev
    

Postman documentation

https://documenter.getpostman.com/view/32563788/2sA3BkbCQq

Test

  • Copy code in your terminal to enter in the repository front folder:
    cd client
    
    
  • Copy code:
    npm run test
    

This will run the front tests.

  • Copy code in your terminal to enter in the repository back folder:
    cd server
    
    
  • Copy code:
    npm run test
    

This will run the back tests.

Project Structure

CLIENT

  • node_modules: contains all the dependencies of your project. When you install packages using npm, they are stored here.
  • server: contains the db.json with the api fake.
  • src:
    • assets: all the images.
    • components: it contains the navbar and the footer.
    • context: This code sets up an authentication context in React and provides a hook for accessing authentication data in functional components.
    • layout: It features two main layouts: LayoutPublic and LayoutPrivate, responsible for defining the user interface structure for the pages.
    • pages: All the pages of the web.
    • router: route definitions for the methods of the API.
    • services: the methods of the crud.
    • test: unit and integration tests in one file.
    • index.css: contains the styles.
    • main.jsx: This code sets up the rendering of the React application.
  • .gitignore: specifies files and folders ignored by Git to prevent irrelevant or automatically generated files from being tracked.
  • index.html:
  • package.json and package-lock.json: these files contain metadata about your project and its dependencies. They also include scripts for running various tasks like starting the development server or building the production bundle.

SERVER

  • controllers: to handle HTTP requests.
  • database: configuration of connections with the database.
  • helpers: contains the import and export validations from express-validator.
  • Middleware: to add the tokens.
  • models: the model of database.
  • node_modules: contains all the dependencies of your project. When you install packages using npm, they are stored here.
  • routes: route definitions for the methods of the API.
  • test: unit and integration tests in one file.
  • validators: contains the validations of the methods of the CRUD.
  • .env: is a configuration file commonly used to store environment variables.
  • .gitignore: specifies files and folders ignored by Git to prevent irrelevant or automatically generated files from being tracked.
  • app.js: entry point of the application.
  • config.js: application configuration, such as database and server configuration.
  • package.json and package-lock.json: these files contain metadata about your project and its dependencies. They also include scripts for running various tasks like starting the development server or building the production bundle.
  • README.md: this file typically contains instructions on how to set up and run your project, as well as any other relevant information for contributors or users.

Technologies

                                   

Authors

Contributions

Contributions are welcome! If you find any problems or have suggestions for improvement, please create an issue or make a pull request.

⬆️ Back to Index

nexusnews's People

Contributors

fatimacapilla avatar beatrizcperez avatar mariandrean avatar elenalope avatar nuriavicenterodriguez avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

mariandrean

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.