/apollo-graphql-react-auth

App made with prisma2, apollo and react to make blog posts, authenticate and create users.

Primary LanguageTypeScriptMIT LicenseMIT

the-authentication-app

Single Page App with Authentication & Permissions

Build with powerful React 16.8 and hooks ⚡️

MIT License

Specs
⚡️ Apollo-client state management library
📈 GraphQL GraphQL is a query language and execution engine tied to any backend service
⚛️ React 16.12.
React Hooks React hooks
💎 Prisma. GraphQL server with any database
😎 TypeScript JavaScript that scales.
🛡 GraphQL-Shield Shield A GraphQL tool to ease the creation of permission layer.

Purpose?

Authenticatication app using prisma and SSR.

It's optimized to complex applications if you want to fork in your project and adapt according your needs. This is a real-world example.

For simple apps, using third-party authentication is enough but sometimes you want to have control about you are using and don't want use only OAuth or other authentications. Made with TypeScript and reusable components you can adapt this to any kind of of project. With prisma the things got way more easier and you don't need anymore a back-end environment to build from the scratch an authentication.

Roadmap

Create blog posts ✔️
See your blog posts ✔️
Save blog drafts ✔️
Signup user ✔️
Authenticate user ✔️

First, install

npm install or yarn

then, run your server

npm run dev or yarn dev

and last, run the client in a new tab

npm run client or yarn client

Prisma 🛆

Prisma Client JS is an auto-generated query builder that enables type-safe database access and reduces boilerplate. You can use it as an alternative to traditional ORMs such as Sequelize, TypeORM or SQL query builders like knex.js.

➡️ Learn more: see full documentation

Contributing

The project focuses on being lightweight and minimal; pull requests will likely not be merged. Bug reports and questions are welcome.

Author and license

the-authentication-app was created by @yuripramos.

This project is available under the MIT license. See the LICENSE file for more info.