Giter Site home page Giter Site logo

rmurussi / cherrystar Goto Github PK

View Code? Open in Web Editor NEW
9.0 1.0 0.0 510 KB

CherryStar is a compilation of technologies that you must know to work as back-end or front-end developer.

License: MIT License

Shell 0.25% PHP 75.83% JavaScript 0.17% Blade 10.71% HTML 1.00% CSS 0.54% TypeScript 11.50%
apollo apollo-client graphql laravel laravel-framework lighthouse material-ui mui5 reactjs typescript docker nodejs php81 postgres redis sanctum-authentication tenancy tenancyforlaravel

cherrystar's Introduction

CherryStar Logo

CherryStar - Study case, starting with recent technologies

License: MIT "Buy Me A Coffee"

CherryStar is a compilation of technologies that you must know to work as back-end or front-end developer.

You will learn:

  • MUI: framework front-end
  • typescript lang
  • Reactjs: useEffect, useState
  • Apollo: useQuery, useMutation
  • tenancy: central database to login
  • tenancy: each user have a database
  • GraphQL: queries and mutations
  • Laravel: sail "easy docker"
  • Sanctum: user-token
  • WSL2: (windows with linux enviroment)
  • Redis: (database key-value) to cache GraphQL and everything you like
  • PostgresSQL: database

⭐ Do not forget to star (Top right of this page) ⭐

Technology Stack

Front-End

Back-End

Enviroment

Getting Started

Windows WSL2

From terminal/WSL2 - You MUST clone at /var/www/

cd /var/www
git clone https://github.com/rmurussi/cherrystar

cd /var/www/cherrystar/cherrystar-back-end
cp .env.example .env
composer update

cd /var/www/cherrystar
chmod +x docker-build.sh
echo "Let's take a coffe, while docker do the hard job" && \
./docker-build.sh

Docker Desktop - Open Bash of containner cherrystar: laravel-cherrystar

composer install
cp .env.example .env
php artisan migrate
php artisan db:seed

php artisan cache:clear
composer dump-autoload

chown 1000:sail -R *
chmod -R 777 storage -R *

Now you have the app on - WOW!

Congrats, look what you did :D

  • Cloned a project with git on github
  • Started a project on Sail - Laravel
  • Created a Docker enviroment
  • Most recent technologies integration
  • Front-end enviroment integrated with back-end app
  • Top Skills: GraphQL, Redis, Php8.1, ReactJS, Apollo, MUI, PostgreSQL
  • An application front-end + back-end that log-in using GraphQL Mutation (Sanctum). An App that have a central base to log-in, each user having a database(tenancy). When an user log-in, laravel save Resquest data in database-user.access [IP/Browser/Timestamp] and return a token of the user(Sanctum).
  • After log-in, you'll see a grid with a list of the latest accesses in the database of your user.

Go beyond - next steps

I suggest you do it yourself

Laravel

  • Change Sanctum to Oauth2 (Most used technology for log-in)
  • Create access rules for users in environment back-end/front-end
  • Change Tanancy token to Tanancy Domain/Sub-Domain
  • Change GraphQL-Query table Access, to load data from access with pagination
  • Set trust Host & Proxies
  • GraphQL Mutation to register new user and tenancy

ReactJS

  • Create a Loader on sign-in
  • Create a Loader on sign-out
  • Login (New Page with route)
  • List Access (New Page with route)
  • Register (New Page with route)
  • Validation forms in reacjs with Yup
  • Validate mutation and query return from GraphQL
  • I18n, make the app multi-lang
  • Free cloud to host your app

Inspirations

Author

Issues

  • To report a bug, please submit an issue on Github. I will respond as soon as possible to resolve the issue.

cherrystar's People

Contributors

enzopetry avatar rmurussi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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.