This project is a personal learning initiative focused on understanding the basics of web development. It includes practical implementations of user authentication and task management to provide a hands-on experience with essential web technologies. Tailored as a self-guided exploration, this project documents my progress and serves as a reference for fundamental concepts in building and deploying web applications. It is designed for personal use, to track learning milestones and challenges encountered along the way.
- Add roadmap
- Task and users are stored in the database
- Authentification for all users
- Users can view, create, update, delete tasks
- Authorization: Users can only manage their own tasks
/frontend
: Contains the Vue.js-based frontend, integrated with Vuetify/backend
: Contains the Node.js-based backend- Docker Compose is used to simplify running the backend locally
- Clone the project
git clone https://github.com/noah-be/private-to-do-list.git
- Go to the project directory
cd private-to-do-list
- Install Dependencies
cd backend
npm install
cd ../frontend
npm install
- Start backend with docker-compose
cd ..
docker-compose up -d
- Start frontend
cd frontend
npm run dev
The test files can be found in the tests folder in the frontend and backend. To run tests, run the following command in the appropriate folder
npm run test
- proper an consistent naming conventions
- self-documenting
- DRY
- intention revealing variable and function names
- no dead code
- seperation of concern and good structure
- simplicity
- using tools like eslint to find problematic code formatting