Skip to content

Commit 5c4168a

Browse files
authored
Update README.md
1 parent e803cb8 commit 5c4168a

1 file changed

Lines changed: 49 additions & 1 deletion

File tree

README.md

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,49 @@
1-
# odin-ToDo
1+
# Odin To-Do List Application
2+
3+
A simple and elegant To-Do List application built as part of [The Odin Project](https://www.theodinproject.com/) curriculum. This project allows users to create multiple projects, manage tasks, set priorities, and track due dates.
4+
5+
## Features
6+
- **Create and Manage Projects**: Users can create multiple projects, each with its own list of tasks.
7+
- **Task Management**: Add, edit, and remove tasks with attributes such as title, description, due date, and priority.
8+
- **Dynamic UI**: Responsive interface that displays tasks by project, with different colors for priorities.
9+
- **Modular Design**: Classes and functions are separated into different modules, keeping the code clean and maintainable.
10+
11+
## What I Learned
12+
13+
### Building from Scratch, No Frameworks
14+
While a to-do list application is often seen as a basic and cliché project, this experience was invaluable because I built it **without using any frameworks**. By relying solely on vanilla JavaScript, HTML, and CSS, I gained a deeper understanding of:
15+
- **DOM Manipulation**: Handling user interactions and updating the UI manually without the convenience of frameworks helped me learn what goes on under the hood of a framework.
16+
- **Project Structure**: Organizing code into classes and modules, ensuring maintainability and scalability.
17+
- **Advanced css concepts**: By building the UI from scratch without using any templates or frameworks, I learned advanced CSS concepts like Flexbox and Grid, which helped me create a responsive and well-structured layout for the application.:
18+
19+
### SOLID Principles
20+
- **Single Responsibility Principle**: Each class and module has a single responsibility, making the code easier to manage and extend.
21+
- **Open/Closed Principle**: The code is open for extension but closed for modification, allowing new features to be added without altering existing functionality.
22+
23+
### Object-Oriented Programming in JavaScript
24+
- **Classes and Modules**: I learned how to create and manage multiple classes in separate modules, improving code organization.
25+
- **Constructors**: Utilized constructors to initialize objects and understand how they work in JavaScript to create reusable task instances.
26+
27+
### Separation of Concerns
28+
- **UI vs. Logic**: I split the application logic (task management, project handling) from the user interface, adhering to best practices in code separation. This makes the code more scalable and easier to maintain.
29+
30+
## Project Demo
31+
You can view the live version of the project [here](https://codedstrings.github.io/odin-ToDo/).
32+
33+
## Technologies Used
34+
- JavaScript (ES6)
35+
- HTML/CSS
36+
- Webpack (for bundling modules)
37+
- GitHub Pages (for deployment)
38+
- Figma-
39+
## How to Run Locally
40+
41+
1. Clone the repository.
42+
2. Install dependencies:
43+
```bash
44+
npm install
45+
```
46+
3. Run the development server:
47+
```bash
48+
npm run dev
49+
```

0 commit comments

Comments
 (0)