nishiki-tech / nishiki-frontend Goto Github PK
View Code? Open in Web Editor NEWNishiki is an app for tracking and sharing food inventories within groups for better pantry management.
Home Page: https://nishiki.tech
License: MIT License
Nishiki is an app for tracking and sharing food inventories within groups for better pantry management.
Home Page: https://nishiki.tech
License: MIT License
Improve UI directory structure especially because the following two directories could be unified:
Add Group Collection Page
User can see group collection page
The task is to create a shared UI component for a dialog.
Add "Commit Convention" section to CONTRIBUTING.md
Since there is no convention for commit messages, they lack consistency.
Add CUD function at Group Collection Page
Address the issues related to styles configuration discussed in #35
A concise title for the new feature.
As a [user type], I want [an action] so that [benefit/value].
Any other internal context or references.
Apply Design format to Group Collection Page
// components/GoogleLoginButton.js
import { GoogleLogin } from 'react-google-login';
const GoogleLoginButton = ({ onSuccess, onFailure }) => {
return (
<GoogleLogin
clientId={process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID}
buttonText="Login with Google"
onSuccess={onSuccess}
onFailure={onFailure}
cookiePolicy={'single_host_origin'}
/>
);
};
export default GoogleLoginButton;
// pages/login.js
import GoogleLoginButton from '../components/GoogleLoginButton';
import { signInWithGoogleToken } from '../utils/cognito';
const LoginPage = () => {
const handleLoginSuccess = async (response) => {
try {
const { tokenId } = response;
const user = await signInWithGoogleToken(tokenId);
console.log('User logged in:', user);
// Post-login processing (storage of user information, redirects, etc.)
} catch (error) {
console.error('Login failed:', error);
}
};
const handleLoginFailure = (response) => {
console.error('Google login failed:', response);
};
return (
<div>
<h1>Login Page</h1>
<GoogleLoginButton
onSuccess={handleLoginSuccess}
onFailure={handleLoginFailure}
/>
</div>
);
};
export default LoginPage;
// utils/cognito.js
import { CognitoIdentityServiceProvider } from 'aws-sdk';
const cognito = new CognitoIdentityServiceProvider({
region: process.env.AWS_REGION,
});
export const signInWithGoogleToken = async (googleToken) => {
// Process of sending Google token to Cognito for authentication
// Ex) call AdminInitiateAuth, GetId, GetCredentialsForIdentity Cognito API
};
export default {
signInWithGoogleToken,
};
Add a "check list section" for the assignee to check the things to do. All the options in the check list have to be completed and ticked before requesting a PR review.
Jest
User can see Group Single Page
The task is to create a shared UI component for a drawer.
This component:
Find the typo in the template files.
None
None
None
None
Add Food Collection page
User can see Food Collection page
This proposal is about the issue templates that are currently available for each team member and community. There are three templates named "Bug report", "New feature request", and "Question". However, there are some difficulties associated with these templates, such as it being hard to choose the most appropriate one and the contents of each template not fitting the purpose of our writing. We need to make some changes to address these issues.
Set up Renovate in order to automate the process of package updating.
minor
and patch
types should be bundled in one PR except TypeScript
and next
.Any other internal context or references.
Function of going back to previous pages.
Users can go back to previous page when they push "<" back button.
Generate API Client code from OpenAPI Specification file in Docs repo.
when this repo gets an event from the docs repo, a GitHub action is invoked to generate a type definitions file.
The task is to create a shared UI component for a card.
The component:
Reference to Mock server nishiki-web-api.yaml was not latest
Create the staging
branch
staging
branchstaging
branchstaging
branch to the nishiki-frontend
app on AWS Amplifystaging
branch for the nishiki-frontend
app on AWS AmplifyThe task is to create a shared UI component for a button.
When you create a new issue on a Project, you should not see the issue template created in each repository. The goal of this task is to figure out how to use issue templates on Projects.
Ideally, templates are created on each repository and they are accessible when creating an issue on a Project.
The DIRECTORY_STRUCTURE.md is needed to be improved for developers to make it easier to understand.
This is the original discussion.
The src/components/ui/Icon.tsx
file should be fixed based on the Open-Closed Principle (OCP), one of the SOLID principles. In the current code, all the possible icons are imported within the Icon.tsx
file, which means whenever we need a new icon in the future, the icon has to be imported into this file. That is against the principle:
"Software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification."
IconButton
, IconButton
or whatever sounds like a button. Because some icon SVGs will be used as simple images without wrapping with this component.Currently, each API call is written separetely. Create common function with Authentication header for API client
Next.js 14 was released on October 26th. Since we started this project very recently, it is better to upgrade the Next.js from v13 to v14 as soon as possible before starting a lot of coding on v13.
Hosting a repository of GitHub Organization require a Vercel's Team, which costs 20USD/mo. It would be better if there are any other web app hosting services with lower pricing.
Apply Design format to Group Single Page
Discuss with designers what fonts will be used and where they should be listed (most likely in the Figma file). After that, improve the font configuration (fonts.ts
) under the const/
directory.
fonts.ts
src/const/fonts/fonts.ts
. Since the font-related files will be mostly likely only one file, the const/fonts/
directory may not be necessary.Configure Google and AWS Cognito
import { fetchAuthSession } from 'aws-amplify/auth';
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.