- Started on: April 12, 2023
- Finished on: May 12, 2023
Deployed app: https://tma-notezy.vercel.app/
- Developer: Nguyen Tri Minh
- Major: Front-end Web Developer
- TMA Batch 40 Internship Program
User could:
- Create new accounts
- Sign in to the web
- Create new notes
- Search for notes via their titles
- View notes
- Edit and delete notes
- Sign out (user is automatically signed out if session is expired)
Source code is available at the /api directory
Technologies and toolkits used:
- Node.js and Express.js to build the API
- MySQL as the database, remote using CleverCloud
- Deploy using Cyclic
- Encode user passwords, sign and validate token using JSON Web Token. As a result, user passwords in the database are all encoded; sign in sessions are managed accordingly
- API is structured using the Service - Controller - Router concept:
- Service: Handles direct connections with the database
- Controller: Manages functions to be executed on requesting the API
- Router: Exports the API endpoints
Source code is available at the /front-end directory
Technologies and toolkits used:
- React, HTML and CSS to build the UIs
- CSS libraries: Bootstrap and React Bootstrap
- Deploy using Vercel
- App is structured using the Model - Controller - View (MVC) concept:
- Model: Handles direct requests to the API endpoints
- Controller: Manages functions to be executed from the UI components
- View: Handles the UI components of the app. View is divided into multiple components in order to reuse them if possible
- Save states using Redux and Redux Thunk. Redux system is structured using the Reducer - Container - Actions concept. Some states such as sign in detection or token validation are needed to be implemented with Redux
Any feedback or contribution is always welcome!