A memo application that keeps track of you in a diachronic and synchronic way.
You can access your traces with the current memo content itself.
Both the WYSIWYG editor and the Markdown editor are supported.
No Signup is needed if you have a NAVER account.
Try it now!
You can access your traces with the current memo content itself.
Both the WYSIWYG editor and the Markdown editor are supported.
No Signup is needed if you have a NAVER account.
Try it now!
About The Project • Getting Started • Documentation • License • Authors
Project URL (TBD)
- Simple UI
- Markdown Support
- Naver Login
- Each modification saves a certain amount of history, so you can roll back to that history.
- Memo Category Features
- Weather and location storage available
- Installation of Node.js, React and TypeScript is required.
- Optional installation of A and B is recommended.
- Please make sure you meet the prerequisites.
- Clone the repo
$ git clone https://github.com/Memo8-KoreaUniv/kramo.git $ cd kramo
- Install requirements
$ npm i
- Edit configuration
.env.*
- To run the project, you need to add the following environment variables to your
.env.*
files. - You can contact us by issue if you need help with your
.env.*
files, since the security is required of environment variables.
To conduct tests, run the following command in your terminal.
$ npm run test
ES-Lint is used to capture anti-patterns and maintain a consistent code style.
$ npm run lint
or in your root directory
$ eslint **/*.{js,ts,tsx}
eslintrc.js
module.exports = {
root: true,
env: {
node: true,
es6: true,
},
parserOptions: { ecmaVersion: 2020 }, // to enable features such as async/await
ignorePatterns: ['node_modules/*', '.next/*', '.out/*', '!.prettierrc.js'], // We don't want to lint generated files nor node_modules, but we want to lint .prettierrc.js (ignored by default by eslint)
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:react/recommended',
],
plugins: [
'react',
'import', // eslint-plugin-import for custom configure
],
settings: {
'import/parsers': {
'@typescript-eslint/parser': ['.ts', '.tsx'],
},
'import/resolver': {
typescript: {
alwaysTryTypes: true,
},
},
},
overrides: [
// This configuration will apply only to TypeScript files
{
files: ['**/*.ts', '**/*.tsx'],
parser: '@typescript-eslint/parser',
settings: { react: { version: 'detect' } },
env: {
browser: true,
node: true,
es6: true,
},
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended', // TypeScript rules
'plugin:react/recommended', // React rules
'plugin:react-hooks/recommended', // React hooks rules
'plugin:jsx-a11y/recommended', // Accessibility rules
],
rules: {
// We will use TypeScript's types for component props instead
'react/prop-types': 'off',
// No need to import React when using Next.js
'react/react-in-jsx-scope': 'off',
// This rule is not compatible with Next.js's <Link /> components
'jsx-a11y/anchor-is-valid': 'off',
// fuction return
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
// no-non-null-assertion
'@typescript-eslint/no-non-null-assertion': 'off',
// Why would you want unused vars?
'@typescript-eslint/no-unused-vars': ['error'],
'@typescript-eslint/no-explicit-any': 'off',
'import/order': [
'error',
{
groups: ['builtin', 'external', 'internal'],
pathGroups: [
{
pattern: 'react',
group: 'external',
position: 'before',
},
],
pathGroupsExcludedImportTypes: ['react'],
'newlines-between': 'always',
alphabetize: {
order: 'asc',
caseInsensitive: true,
},
},
],
},
},
],
}
- Main Framework : Next JS + TypeScript
- State Management : Recoil
- UI : Antd, styled-component
- OAuth : Naver Developers Login Application
- DB : Mongo DB
- Testing : Jest
- API : Next JS
- Weather API by openweathermap
- Reverse Geocoding API by NAVER Cloud
- API Docs by Swagger
- JWT Authentication
- Global-State management
- Blog : https://programming119.tistory.com
- Site : https://i-am-seo-sang.vercel.app/
- E-mail : ddrrpg@naver.com
- Blog : Blog
- Site : Notion
- E-mail : firifafa@naver.com
panggyun
vwjdtjdwnsv
Distributed under the MIT License.