https://github.com/ruberoni/notes-project
Notes-taking app. A fast and open-source alternative!
https://github.com/ruberoni/notes-project
apollo chakra-ui evernote graphql mysql notebook notes react type-graphql typescript
Last synced: about 2 months ago
JSON representation
Notes-taking app. A fast and open-source alternative!
- Host: GitHub
- URL: https://github.com/ruberoni/notes-project
- Owner: Ruberoni
- Created: 2021-08-14T20:45:01.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-11-18T14:42:12.000Z (over 3 years ago)
- Last Synced: 2025-04-05T13:17:47.218Z (about 1 year ago)
- Topics: apollo, chakra-ui, evernote, graphql, mysql, notebook, notes, react, type-graphql, typescript
- Language: TypeScript
- Homepage: https://notes-project-1.netlify.app/
- Size: 2.24 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Notes Project
> [Start taking notes!](https://notes-project-1.netlify.app/)
[](https://app.netlify.com/sites/jovial-engelbart-bf785b/deploys)
Notes-taking app. A fast and open-source alternative!
# Contribution 🤝
All contribution are welcome.\
Please check the [issues](https://github.com/Ruberoni/notes-project/issues) or create one.
# Goals 🚩
- [X] Learn Hapi basics
- [X] Learn Graphql
- [X] Improve my TypeScript
- [X] Improve my React
- [X] Learn Auth0
# Features 🏏
- [X] Good performance
- [X] Use markdown to edit your notes
- [X] Group notes using categories
- [X] Login with google
- [X] Fully responsive
- [X] Filter and search notes
- [X] Secure authentication with Auth0
- [X] Dark mode
- [X] Keyboard shortcuts
# Dependencies 🧠
## Client side
- Yarn 1.22.x
- Charkra-UI/React 1.6.6
- React 17.0.2
- React Router Dom 5.3.0
- Typescript 4.1.2
- Graphql 15.5.3
- Apollo Client 3.4.11
- Auth0 React ^1.8.0
## Server side
- Yarn 1.22.x
- Mysql2 2.3.0
- Graphql 15.5.1
- Typescript 4.3.5
- Hapi 20.1.5
- Apollo Server Hapi .1.2
- Type Graphql 1.1.1
- ts-node 10.2.0
# Run the app 🚗
## Before all
### Requirements
- Node.js
- Yarn
- You need an Auth0 account, with an API and a applications registered.
- You need a MySQL Server
1. Clone this repo
```
git clone https://github.com/Ruberoni/notes-project.git
```
## Client side
1. Change directory to `client/`
2. Install the modules. Run:
```
yarn
```
3. Setup these enviorment variables:
```
REACT_APP_AUTH0_DOMAIN= Auth0 application domain
REACT_APP_AUTH0_CLIENT_ID= Auth0 application client ID
REACT_APP_AUTH0_AUDIENCE= Auth0 API Audience
REACT_APP_SERVER_URI= [optional] Server uri to request the data
```
4. Start the app by running:
```
yarn start
```
## Server side
1. Change directory to `server/`
2. Install the modules by running:
```
yarn
```
3. Setup these enviorment variables:
```
PORT
DB_NAME
DB_USER
DB_HOST
DB_PASSWORD
DB_CACERT= [optional] certificate for a secure MySQL connection.
DB_TEST_USER
DB_TEST_HOST
DB_TEST_PASSWORD
AUTH0_DOMAIN= Auth0 application domain
AUTH0_CLIENT_ID= Auth0 application client ID
AUTH0_AUDIENCE= Auth0 API Audience
BASIC_SECRET= Secret for the authentication of basicSecret strategy
```
4. Start the server. Run:
```
yarn dev
```
If you have problems starting the server, try copy-pasting the command ran by `yarn dev`
# Attribution 🤼♂️
An image from [slidesgo / Freepik](http://www.freepik.com) has been used.
# Contact me! 📞
Email me: [ruben.pardes25@gmail.com](mailto:ruben.pardes25@gmail.com)\
Discord: Ruberoni#8428