GitHub Repository | Go to Application
CHORE is a task management application that I built for personal use. Hopefully it comes in handy for you too. This version consists of the following features:
- Create and track tasks based on deadlines or recurrence.
- Organize tasks into folders.
- Use built-in or custom filters to look for tasks.
- Get a weekly calendar view based on your tasks.
- Export and import tasks to/from flat data.
- Export and import all user data.
The following is an outline of all the major tools, technologies, patterns and practices in building this application.
Platform
- OS- Windows
- Runtime- Microsoft .NET 4.5
- Database- MongoDB
Languages
- C# (Server-side)
- JavaScript (Client-side)
Patterns/Principles
- Domain Driven Design (DDD)
- Service Oriented Architecture (SOA)
- SOLID
- Aspect Oriented Programming (AOP)
- Single Page Application (SPA)
- Unit-of-Work
- Repository
- Federated Claims-Based Authentication
- Responsive Web Design (RWD)
Major Libraries
- ASP.NET Web API (REST API)
- ASP.NET MVC (Server side web)
- WCF (Communication with AK-Login)
- WIF (Federated authentication with AK-Login)
- LINQ (General language feature)
- LINQ Expressions (Predicate mapping)
- MEF (Dependency Injection)
- AngularJS (Client side application)
- AngularJS Routes (Client side routing)
- AngularJS Resoruces (Communication with REST API)
- Bootstrap (UI Design)
- UI-Bootstrap (Angular-Bootstrap interface)
- SignalR (Push notifications)
- Commons Library (Foundational framework)
- Commons Web Library (Foundational framework for web)
- Commons Library MongoDB Provider (UOW/Repo abstraction for MongoDB)
- MongoDB C# Driver (Communication with MongoDB)
- MS Test (C#-based Tests)
- Jasmine (JavaScript-based Tests)
- Moq (Mocking for C#-based Tests)
- Angular Mocks (Mocking for Angular components in JavaScript-based Tests)
Tools
- IDE- Visual Studio 2012
Links to the terms of service and privacy policy for the application will be presented to you when logging in. By continuing to log in, you will denote that you agree to these terms of service and privacy policy.
Do note that the application will allow you to download all your data and delete your profile at any point should you choose to stop using it.