Skip to content
Purich Viwatkurkul edited this page Nov 19, 2024 · 1 revision

One and Done Journal

Welcome to the One and Done My Journal project wiki! This project is a web-based journal and task management application. Here you will find all the necessary documentation to understand, set up, and contribute to this project.

Table of Contents

Learn More

Features

  • Create and manage notes
  • Organize notes into folders
  • Search and filter notes
  • Toggle between dark and light modes
  • Edit notes with a Markdown editor
  • User-friendly UI with keyboard accessibility

Getting Started

  • To view our deployed website using this link: https://cse110-sp24-group1.github.io/cse110-sp24-group1/src/index.html.
  • To view our website locally, follow these steps:
    1. Clone the GitHub repository locally:
      git clone https://github.com/cse110-sp24-group1/cse110-sp24-group1.git
    2. Start the live server: Ensure the live server is running and the application is accessible.

Development

Project Structure

src/
│
├── assets/icons
│
├── scripts/
│   ├── data-storage.js
│   ├── global.js
│   ├── home.js
│   └── tasks.js
│
├── styles/
│   ├── global.css
│   ├── home.css
│   └── tasks.css
│
├── tests/
│   ├── data-schema.test.js
│   ├── folders.test.js
│   ├── notes.test.js
│   └── tasks.test.js
│ 
├── index.html
├── tasks.html
└── test-until-pages.html 

Scripts

  • data-storage.js: Handles data storage and retrieval.
  • global.js: Manages global settings like theme toggling.
  • home.js: Main script for managing notes and folders.
  • tasks.js: Manages task creation and management.

CSS

  • global.css: Styles for global elements such as the navigation bar.
  • home.css: Styles specific to the home page elements.
  • tasks.css: Utility page for testing various components.

HTML

  • index.html: The main page for the journal.
  • tasks.html: The page for task management.
  • test-until-pages.html: The page serves as a testing ground to ensure that the data storage functions are accessible and work as intended within the application.

Tests

  • data-schema.test.js: Tests for data schema validation.
  • folder.test.js: Tests for folder management functionality.
  • notes.test.js: Tests for note management functionality.
  • tasks.test.js: Tests for task management functionality.

Dependencies

  • SimpleMDE: Markdown editor used for note creation and editing.

Contributing

We welcome contributions to the My Journal project! Please follow these guidelines to contribute.

How to Contribute

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
    git checkout -b feature-name
  3. Commit your changes.
    git commit -m "Description of your changes"
  4. Push to your branch.
    git push origin feature-name
  5. Open a pull request with a detailed description of your changes.

Follow Style Guidelines

  • Follow the existing code style.
  • Write clear, concise commit messages.
  • Ensure your code passes all tests and linting checks.
  • Code style, font guidelines, style guidelines, and version control guidelines documentation can be found under /admin/guidelines.

Reporting Issues

  • Use the GitHub issues page to report bugs or request features.
  • Provide detailed information to help us understand and resolve the issue.