Overview:
CrateCrate is a monthly subscription service providing trendy clothes and accessories through a Node API built with technologies like GraphQL, Express, Sequelize, and JWT Auth. The platform includes a WebApp built with React and Redux, a Mobile Native App for Android and iOS using React Native, and employs server-side rendering for SEO friendliness. It is written in ES6+ using tools like Babel and Webpack and designed with Adobe Experience Design.
Features:
- Modular and easily scalable code structure
- UI components in a separate folder for easy swapping with other UI frameworks
- Responsive UI for React Native supporting Mobile and Tablet
- GraphQL schema with associations
- User authentication using JSON Web Tokens with GraphQL API
- File upload feature with GraphQL
- Server-side rendering
- Multi-package setup and dev scripts for an automated development experience
Installation:
Prerequisites:
- Node
- MySQL (or Postgres / Sqlite / MSSQL)
Clone Repository:
git clone git@github.com:atulmy/crate.git crate
Configuration:
- Modify configurations in various files for database credentials, ports, and API URLs as needed.
Setup:
- API: Install packages and database setup by
cd apiandnpm run setup - Webapp: Install packages by
cd webandnpm install - Mobile: Install packages by
cd mobileandnpm install
- API: Install packages and database setup by
Development:
- Run API with
cd apiandnpm start - Run Webapp with
cd webandnpm start - Run Mobile for iOS with
cd mobileandnpx react-native run-ios, and for Android withcd mobileandnpx react-native run-android
- Run API with
Production:
- Run API in production mode with
cd apiandnpm run start:prod - Run Webapp in production mode with
cd webandnpm run start:prod
- Run API in production mode with
Multi-package Automation:
- New developers can use a single command
npm run setupto set up API, Webapp, and Mobile for faster setup.
- New developers can use a single command
Summary:
CrateCrate offers a subscription service for trendy clothes and accessories with a comprehensive tech stack utilizing Node, GraphQL, React, Redux, React Native, and more. Its modular code structure, emphasis on developer experience, and support for various UI components and devices make it an excellent choice for developers exploring React, React Native, and GraphQL projects. The setup process is straightforward, and the platform provides a solid foundation for scalable web and mobile applications.