This application allows users to manage projects and their associated todos. It provides the following functionalities:
- Create a new project
- Add, Update Title, and Delete
- Manage todos within a project:
- Add, Edit, Delete and Mark todos as complete
- Export project summary to GitHub as a secret gist in Markdown format
- User authentication using jwt
- CRUD operations on projects and todos
- Export project summary as a secret gist on GitHub
- Project and Todo Management with task status tracking
This project uses the following technologies:
- Node.js: Backend framework
- Express.js: For building the API
- MongoDB: Database for storing data
- Vue.js: Frontend framework
- GitHub API: For exporting and creating Gists
Before you begin, ensure you have met the following requirements:
-
Node.js: Install from https://nodejs.org
-
Vue.js: You need Vue CLI to run the frontend. Install Vue CLI by running the following command:
npm install -g @vue/cli
-
Clone the repository:
git clone https://github.com/abiek12/Todo-App-Hatio-Take-Home-Challenge-.git
-
Navigate to the project directory::
cd Todo-App-Hatio-Take-Home-Challenge
-
Install dependencies:
npm install
-
Create a
.env
file in the server directory of your project and add the necessary environment variables (if any):PORT=3000 MONGO_URI=your_mongoDB_uri SALT_ROUND=10 JWT_SECRET=secret@123 GITHUB_API_URL=https://api.github.com/gists GITHUB_TOKEN=your_github_personal_access_token
To run the project locally, use the following command:
npm run dev