Skip to content

Web application for keeping track the study status by adding card

Notifications You must be signed in to change notification settings

nguyenfamj/MERN_Skil

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Skil - Learning status web application

Web application to keep track current learning status, with the form similar to a Kanban board and the user can create new card with responsive notification.

You can take a look at the deployed project here: https://skil.netlify.app/

Preview:

Preview video
SkilPreview_compressed.mp4
Register screen with validation

Screenshot 2022-09-24 at 19 46 20

Login screen

Screenshot 2022-09-24 at 20 09 36

Dashboard with "Login successfully" notification

Screenshot 2022-09-24 at 20 08 43

Create new card

Screenshot 2022-09-24 at 20 29 14

Card list

Screenshot 2022-09-24 at 20 30 26

"More" dropdown includes edit and delete functions

Screenshot 2022-09-24 at 20 30 46

💡Technologies used:

Front-end:

  • React
  • TypeScript
  • Redux-toolkit
  • TailwindCSS
  • styled-components

Back-end:

  • ExpressJS
  • Mongoose
  • Argon2
  • JWT

Database MongoDB

New things I've learned:

  • Clean project structure for both client (React, Redux) and server (Express, MongoDB)
  • Config NoSQL database (MongoDB), create schemas using ORM
  • Understand MVC and REST API concepts
  • Using utility-first CSS framework(TailwindCSS) to build responsive website (I like it very much!)
  • Using Redux-toolkit and RTK Query for state management and do API calls.
  • Basic setup for deployment to Heroku and Netlify

Install project

Create new MongDB cluster
  1. Create shared cluster
  2. Choose "Connect" on newly created cluster
  3. Choose Node.js and version 4.1 or later
  4. Copy the connection string and replace "username" and "password" with credentials of the cluster
Clone project from GitHub
git clone "https://github.com/nguyenfamj/MERN_Skil.git"
cd server
npm install
Create .env file based on the .env.example file
# .env
...
MONGODB_URI=mongodb+srv://<username>:<password>@mern-sticki.9o6su.mongodb.net/?retryWrites=true&w=majority
<!-- Change MONGODB_URI value to your customized connection string -->
Start the client
cd ..
cd client
npm install
npm run start

Enjoy the application!

Releases

No releases published

Packages

No packages published