{"id":29583763,"url":"https://github.com/csxv/foucsflow","last_synced_at":"2026-04-11T01:01:51.515Z","repository":{"id":304962250,"uuid":"1020696308","full_name":"CSXV/FoucsFlow","owner":"CSXV","description":"a full-stack To-Do \u0026 Notes app with user accounts, categories, and a neumorphic UI, built using React, TypeScript, .NET Core API, and PostgreSQL.","archived":false,"fork":false,"pushed_at":"2025-07-16T11:08:26.000Z","size":2485,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-17T13:19:25.072Z","etag":null,"topics":["api","css3","dotnet-core","html5","postgresql","react-rou","react-router","reactjs","restful-api","typescript","vitejs"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CSXV.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-16T08:57:46.000Z","updated_at":"2025-07-16T11:08:30.000Z","dependencies_parsed_at":"2025-07-17T16:57:59.627Z","dependency_job_id":"20a234ee-29b5-4e18-a748-77da29307d39","html_url":"https://github.com/CSXV/FoucsFlow","commit_stats":null,"previous_names":["csxv/foucsflow"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/CSXV/FoucsFlow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSXV%2FFoucsFlow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSXV%2FFoucsFlow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSXV%2FFoucsFlow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSXV%2FFoucsFlow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CSXV","download_url":"https://codeload.github.com/CSXV/FoucsFlow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSXV%2FFoucsFlow/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266042413,"owners_count":23867962,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","css3","dotnet-core","html5","postgresql","react-rou","react-router","reactjs","restful-api","typescript","vitejs"],"created_at":"2025-07-19T23:38:44.463Z","updated_at":"2026-04-11T01:01:51.073Z","avatar_url":"https://github.com/CSXV.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FoucsFlow\nA full-stack, pixel-perfect To-Do and Notes web app designed with **Neumorphism UI** and built for **ease of use**. The app supports user authentication, categorized notes, and an intuitive task management system.\n\n![user notes page](pics/UserNotesPage.png)\n\nmore screenshots in pics folder.\n\n## 🚀 Features\n### ✅ Core App Features\n- Create, update, delete, and **archive notes**\n- Notes include **category tagging** (e.g., Work, Personal, Study)\n- User authentication system (Register / Login / Edit / Delete Account)\n- Responsive Neumorphic UI with **pixel-perfect styling**\n- Built with modern technologies and optimized for performance\n\n### 🎨 UI/UX \u0026 Design\n- Neumorphism design for a modern, tactile interface\n- Pixel-perfect spacing, typography, and color palette\n- Focus on minimalism and ease of navigation\n- Fully responsive and mobile-friendly\n- Google Material Icons for category visualization (icons like work, fitness_center, home)\n\n### 🧑‍💻 Tech Stack\n\n| Layer      | Tech                                                     |\n|------------|----------------------------------------------------------|\n| Frontend   | React, Vite, TypeScript, HTML, CSS, React Router         |\n| Backend    | .NET Core Web API, ADO.NET, 3-tier architecture          |\n| Database   | PostgreSQL                                               |\n| Styling    | Custom CSS, Neumorphism design system                    |\n| Tools      | NPM, Vite, REST API                                      |\n\n## 🗃️ Database Schema (Simplified)\n### `Users` Table\n\n| Field         | Type         | Description                       |\n|---------------|--------------|-----------------------------------|\n| id            | `serial`     | Primary Key                       |\n| username      | `varchar(100)` | Unique username                 |\n| email         | `varchar(255)` | Email address                   |\n| passwordhash  | `varchar(255)` | Hashed password                 |\n| firstname     | `varchar(100)` | User’s first name               |\n| lastname      | `varchar(100)` | User’s last name                |\n| profileimage  | `varchar(255)` | Optional profile image URL      |\n| usertype      | `int`          | Role/permissions indicator      |\n| createdate    | `timestamp`    | Auto-set on insert              |\n| updatedate    | `timestamp`    | Auto-set on update              |\n| isactive      | `bool`         | Soft delete flag (true/false)   |\n\n### `Notes` Table\n\n| Field         | Type          | Description                            |\n|---------------|---------------|----------------------------------------|\n| id            | `serial`      | Primary Key                            |\n| title         | `varchar(255)`| Note title                             |\n| content       | `text`        | Optional note content                  |\n| userid        | `int`         | Foreign key to `users(id)`             |\n| categoryid    | `int`         | Foreign key to `categories(id)`        |\n| createdate    | `timestamp`   | Created timestamp                      |\n| updatedate    | `timestamp`   | Updated timestamp                      |\n| state         | `varchar(20)` | To Do, In Progress, Done, Archived     |\n| ispinned      | `bool`        | Pin status                             |\n\n### 🗂️ `categories` Table\n\n| Field         | Type           | Description                |\n|---------------|----------------|----------------------------|\n| id            | `serial`       | Primary Key                |\n| name          | `varchar(100)` | Category name              |\n| iconname      | `varchar`      | Google Material Icon name  |\n\n## 🧱 3-Tier Architecture (.NET Core)\n### 1. **Presentation Layer**\n- Handles HTTP requests and responses\n- Maps API routes like `/api/Users`, `/api/Notes`, etc.\n\n### 2. **Business Logic Layer**\n- Encapsulates app rules and operations\n- Validates, transforms, or aggregates data\n\n### 3. **Data Access Layer**\n- Executes SQL queries\n- Connects to PostgreSQL using connection pooling\n- Handles transactions and error recovery\n\n## 🔧 Setup Instructions\n### Prerequisites\n- Node.js + NPM\n- .NET 8 SDK+\n- PostgreSQL\n\n### 📦 Frontend (React + Vite)\n```bash\ncd toDoWeb\nnpm install\nnpm run dev\n```\n\n### ⚙️ Backend (.NET Core API)\nConfigure DataAccessLayer `_connectionString` string:\n\n```json\n\"Host=localhost;Database=TodoDb;Username=postgres;Password=yourpassword\"\n```\n\nRun the server:\n```bash\ncd toDoAPI/API\ndotnet restore\ndotnet run\n```\n\n## 🌐 REST API Endpoints\n### 🔐 Auth \u0026 User\n| Method | Endpoint                 | Description         |\n| ------ | ------------------------ | ------------------- |\n| GET    | `/api/Users/{id}`        | get a user by ID    |\n| POST   | `/api/Users/Add`         | Register a new user |\n| POST   | `/api/Users/login`       | Authenticate a user |\n| PUT    | `/api/Users/Update/{id}` | Update user info    |\n| DELETE | `/api/Users/Delete/{id}` | Delete user account |\n\n### 📝 Notes\n| Method | Endpoint                   | Description                 |\n| ------ | -------------------------- | --------------------------- |\n| GET    | `/api/Notes/AlllUser/{id}` | Get all notes for a user    |\n| GET    | `/api/Notes/All`           | Get all notes (for testing) |\n| GET    | `/api/Notes/{id}`          | Get a note by ID            |\n| POST   | `/api/Notes/Add`           | Create a new note           |\n| PUT    | `/api/Notes/Update/{id}`   | Update an existing note     |\n| DELETE | `/api/Notes/Delete/{id}`   | Delete a note               |\n\n### 🗂️ Categories\n| Method | Endpoint               | Description         |\n| ------ | ---------------------- | ------------------- |\n| GET    | `/api/categories/All`  | List all categories |\n\n## 🧪 Testing \u0026 Development\n- Fast dev server with Vite for hot module replacement\n- Clean component structure for maintainability\n- Separation of concerns between client and server\n\n## 🤝 Contributing\nPull requests are welcome. For major changes, please open an issue first to discuss what you'd like to change.\n\n## 📃 License\nThis project is licensed under the MIT License.\n\n## ✉️ Contact\nMade with 💙 by CSXV.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsxv%2Ffoucsflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcsxv%2Ffoucsflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsxv%2Ffoucsflow/lists"}