/FinalProject-Frontend-DevInit

Frontend Project with Next.js and Unit Testing with Jest

Primary LanguageJavaScript


Logo

Era Planner

Make your life easier by plan your life in this awesome web application!

View Demo

Table of Contents
  1. About The Project
  2. Getting Started
  3. Design Prototype
  4. Test Report
  5. License
  6. Contact
  7. Acknowledgments

About The Project

Era Planner

Era Planner is the Front-end project that have concept of managing daily life. There are features to manage your events such as calendar, daily journal and to-do list. The project was created using Next.js, Bootstrap and FullCalendar.js. Unit Testing with Jest.js

There are several app features you can use:

  • Calendar feature :
    Organize and plan the event in the calendar. They will alert you at the Home page 3 days before the event will occur.
  • Daily Journal feature :
    Take a note from the story or lecture and review it in the future. Using the local storage to load and manage the journal data.
  • To-do List feature:
    Forgot to do something you need to? Note some lists and do it to clear. Using the local storage to load and manage the to-do list data.
  • Alert feature:
    When you finally enter the home page. If you have some events that will going to occur in 3 days. It will start to alert.
    When you clicked the important button such as Delete Button, It will also generated the alert before the action.
  • Light/Dark Mode feature:
    There is a theme switcher at the navbar. When toggle the button, the theme will be switch to its color theme.

(back to top)

Built With

  • Next.js 14
  • Bootstrap 5
  • FullCalendar.js
  • Jest.js

(back to top)

Getting Started

First you need to setting up your locally folder. To get a local copy up and running follow these simple example steps.

Prerequisites

This is how to list things you need to use the software and how to install them via npm.

  • npm
    npm install npm@latest -g

Installation

Following the guide from below through your terminal.

  1. Clone the repo
    git clone https://github.com/Celesca/FinalProject-Frontend-DevInit
  2. Install NPM packages
    npm install
  3. Move to folder directory
    cd FinalProject-Frontend-DevInit
  4. Run the project
    npm run dev

(back to top)

Design Prototype

Era Planner Prototype

Using Figma to design the prototype of this web application to follows and adjust them. The main keys of this web application design including:

  • Easy to use and minimal theme
  • Convenience and faster. No complex UI
  • Monotone and basic color theme
  • Have Light/Dark mode to prefer UX
  • No complex shape and no animation

Here is the link you can check in Figma design prototype. There's a 2 flow including Phone and Desktop version.

Figma : EraPlanner Prototype

Test Report

1. Page Load and Rendering

Test Case 1:

  • Description: Successfully loads and displays accurate information on the home page.

Test Case 2:

  • Description: Successfully loads and displays the current calendar on the calendar page.

Test Case 3:

  • Description: Loads and displays the daily journal page, presenting a form for writing entries.

2. User Interaction

Test Case 4:

  • Description: Clicking on a To-Do List item opens the edit page for that item.

Test Case 5:

  • Description: Adding a new activity in the calendar works correctly.

Test Case 6:

  • Description: The To-Do search function within the application operates as expected.

3. Responsive Design

Test Case 7:

  • Description: The home page displays correctly on mobile screen sizes.

Test Case 8:

  • Description: The calendar page adapts appropriately to tablet screen sizes.

Test Case 9:

  • Description: The daily journal page shows suitable rendering on large screens.

4. Specific Functional Testing

Test Case 10:

  • Description: Successfully saves data in the daily journal form, and retrieval of that data works as intended.

Test Case 11:

  • Description: Creation and deletion of items in the To-Do List function as expected.

Test Case 12:

  • Description: Theme changes and user-specific settings are applied and saved correctly.

5. App Functionality

Test Case 13:

  • Description: The functionality of notifications or reminders is tested and verified.

Automate Testing using Jest.js

  • Automate Testing will cover "Page Load and Rendering" section in test cases. Because Jest.js can used for testing the rendering page.
  • You can run the following code to perform the unit testing in this projects.
npm test

Manual Testing and Usability Test

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Linkedin - Sawit Koseeyaumporn

Project Link: EraPlanner

(back to top)

Acknowledgments

(back to top)