Giter Site home page Giter Site logo

shubhamj010 / reactjs-spring-boot-full-stack-app Goto Github PK

View Code? Open in Web Editor NEW

This project forked from purshink/reactjs-spring-boot-full-stack-app

0.0 0.0 0.0 51.14 MB

ReactJS-Spring-Boot-Full-Stack-App

JavaScript 48.60% Java 41.85% CSS 9.18% HTML 0.34% Dockerfile 0.04%

reactjs-spring-boot-full-stack-app's Introduction

ReactJS-Spring-Boot-Full-Stack-App


This project consists of two applications: one is a Spring Boot Rest API called spring-backend and another is a ReactJS application called react-frontend.

Service-oriented platform focusing on establishing and maintaining connections between consumers and small businesses in the The Arts, Entertainment, and Recreation sector.

Click here to view the application. This application is subject to Copyright.

Applications


- spring-backend

Spring Boot Web Java backend application that exposes a REST API to manage hobbies. Its secured endpoints can just be accessed if an access token (JWT) is provided.

spring-backend stores its data in a MySql database.

spring-backend has the following endpoints

-react-frontend

ReactJS frontend application where users can find and save hobbies and businesses can manage offers. In order to access the application, user / business must login using his/her username and password. All the requests coming from react-frontend to secured endpoints in spring-backend have a access token (JWT) that is generated when user / business logs in.

react-frontend uses Semantic UI React as CSS-styled framework.

Prerequisites


-Java 11+

-npm

-JWT

Set up


Clone the repository:

git clone https://github.com/purshink/ReactJS-Spring-Boot-Full-Stack-App.git

Navigate to the newly created folder:

cd  ReactJS-Spring-Boot-Full-Stack-App

Frontend -

Install NodeJs.v.16.13.1 /npm v.8.3.0

Navigate to react-frontend subfolder:

cd react-frontend

Install the modules

npm i

Start the application on local host:

npm start

Navigate to:

http://localhost:4200

Backend - Install JDK 11.0.11 Install docker -v 20.10.7 Install docker-compose -v 1.8.0

Navigate to spring-backend subfolder:

cd spring-backend

Run the project with:

docker-compose up --build

The project has the following endpoints:

IMPORTANT: to explore api enter url: /v3/api-docs

http://localhost:8080/swagger-ui/index.html

NOTE: Testing API

-/signup (create client-user) or /register (create business-user)

-/authenticate (returns JWT authentication token)

-use JWT token in order to authorize access to secured endpoints (click the lock icon or use the Authorize button on the upper right corner - then paste JWT Token )

NOTE: /notification endpoint will return an internal server error if you don't specify spring.mail credentials first.

The backend will run on http://localhost:8080 

Spring Mail

Make sure to specify a valid spring.mail.username and spring.mail.password in the application.properties file in order to be able to send an Email confirmation for updating user entries.

IMPORTANT: if you decide not to specify mail credentials, you will get javax.mail.AuthenticationFailedException. The rest of the application should work normally despite this exception.

reactjs-spring-boot-full-stack-app's People

Contributors

purshink avatar

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.