This repository is created as part of RealWorld using Redwood which is an open-source, full-stack web framework.
To keep the consistency of UI, this repository simply use the template of RealWorld, and the css framework keeps the same with this template: BootStrap 4.
Prerequisites
- Redwood requires Node.js (>=14.19.x <=16.x) and Yarn (>=1.15)
- Are you on Windows? For best results, follow Windows development setup guide
Start by installing dependencies:
yarn install
Then start the development server:
yarn redwood dev
Your browser should automatically open to http://localhost:8910.
- finish the unit/integration test
- fix the potential issues
- query for user(s) is marked as @requireAuth which means only authenticated users can access the query. However, what if an authenticated user queries other users' personal info? Is this possible?
- When clicking on any 'favorite' button, it's supposed that only one http request is sent. However, the application sends four http requests. Some requests seem unnecessary.
- At the home page, when shrinking the width, the UI does not work as demanded.
- In a commit, the GraphQL operation 'queryArticleBySlug' always gets a field 'followedByMe' as null.
Redwood relies on the following techniques:
-
A JavaScript library for building user interfaces.
-
GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.
-
Redwood uses Prisma, a next-gen Node.js and TypeScript ORM, to talk to the database. Prisma's schema offers a declarative way of defining your app's data models. And Prisma Migrate uses that schema to make database migrations hassle-free:
yarn rw prisma migrate dev
-
Redwood integrates Storybook so that you can work on design without worrying about data. Mockup, build, and verify your React components, even in complete isolation from the backend:
yarn rw storybook
-
Redwood fully integrates Jest with the front and the backends and makes it easy to keep your whole app covered by generating test files with all your components and services:
yarn rw test