mobx-graphql-nest-auth-kit
is a full-stack project template designed to streamline the development of applications using modern technologies. This kit includes a frontend and backend directory, leveraging the power of NestJS, GraphQL, Passport, TypeScript, MobX, React, and MUI/Material.
- NestJS: A progressive Node.js framework for building efficient and scalable server-side applications.
- GraphQL: A query language for your API, providing a more efficient, powerful, and flexible alternative to REST.
- Passport: Middleware for authentication in Node.js applications.
- TypeScript: A strongly typed programming language that builds on JavaScript.
- Testing: Comprehensive testing setup to ensure code quality and reliability.
- React: A JavaScript library for building user interfaces.
- MobX: A simple, scalable state management solution.
- MUI/Material: A popular React UI framework with a comprehensive set of components.
- TypeScript: A strongly typed programming language that builds on JavaScript.
mobx-graphql-nest-auth-kit/
├── backend/
│ ├── src/
│ ├── test/
│ ├── nest-cli.json
│ ├── tsconfig.json
│ └── package.json
└── frontend/
├── src/
├── public/
├── tsconfig.json
└── package.json
- Node.js
- npm or yarn
- Clone the repository:
git clone https://github.com/anjola-adeuyi/mobx-graphql-nest-auth-kit.git
cd mobx-graphql-nest-auth-kit
- Install dependencies for both frontend and backend:
cd backend
yarn install
cd ../frontend
yarn install
- Start the backend server:
cd backend
yarn start:dev
- Start the frontend development server:
cd frontend
yarn start
Visit http://localhost:3000/graphql
mutation {
createUser(createUserData: {email: "[email protected]", age: 23}) {
userId
email
age
isSubscribed
}
}
query {
user(userId: "787858a1-6e00-4fea-84df-ad4cf6ecadfc") {
userId
email
age
isSubscribed
}
}
query {
users(userIds: ["787858a1-6e00-4fea-84df-ad4cf6ecadfc"]) {
userId
email
age
isSubscribed
}
}
mutation {
updateUser(updateUserData: {userId: "787858a1-6e00-4fea-84df-ad4cf6ecadfc", age: 55, isSubscribed: true}) {
userId
email
age
isSubscribed
}
}
mutation {
deleteUser(deleteUserData: { userId: "787858a1-6e00-4fea-84df-ad4cf6ecadfc"}) {
userId
email
age
isSubscribed
}
}
Here are some screenshots of the project:
Contributions are welcome! Please open an issue or submit a pull request.
This project is licensed under the MIT License.