Skip to content
 
 

Repository files navigation

CodingTracker

This console app provides CRUD operations to the Coding Session database and Coding Goals database. I have used following directives: SpectreConsole for beautifying the console, Dapperfor database operations.

Project Structure:

  • Coding Tracker: Contains the CodingController class which is responsible for maintaning the flow of the program.
  • Coding Session: Contains the UserInput class which is responsible for the taking the input of the user
  • Contains the CodeSession Database Model class, which contains following attributes: id, startTime, endTime, codingGoal
  • Coding Goal: Contains the CodingGoal Database Model class, which contains following attributes: id, codingGoal, codingTask, startDate, endDate
  • CodingTrackerDatabaseLibrary: Contains the GoalsDatabase and SessionDatabase class which performs database operations using Dapper ORM for goals and session database.
  • App.exe.config: Stores connection strings for the Goals and Sessions database.

Workflow of Project:

  1. The CodingController class presents the user with a main menu providing options to interact with the databases. There are two databases: SessionDatabase (stores the user's coding session info) and GoalsDatabase (stores the user's coding goals and their expected completion dates).
  2. CRUD operations are provided for both databases. While inserting data into the tables, validation is performed in their respective model classes. When inserting into the session table, a stopwatch is implemented to track the user's coding session.
  3. The menu also provides options to filter sessions based on days, months, and years.
  4. A progress tracking functionality is also provided to monitor how much of the goal has been achieved during a coding session and how many hours per day the user needs to work to complete the goal within the end date given by the user.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages