This application uses Angular and Bootstrap on the frontend for interactive and responsive UI. The backend is built with NodeJS and Express.js which uses MySQL for data management. The entire app is hosted on Firebase.
For live demo of the application, please visit: https://darrels-todolist.web.app/
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Here are the steps to install and setup the application.
- NodeJS
- Angular CLI
- XAMPP
- MySQL
Clone the repository by running command:
git clone [email protected]:DarrelMendoza/to-do-list.git
The NodeJS and Express.js file named app.js
is located in the api
folder. The exported MySQL database file is located in the db
folder.
- Install XAMPP for our MySQL database.
- Open XAMPP control panel and start the Apache and MySQL services.
- Navigate to
http://localhost/phpmyadmin/
on your browser. - Click on 'Import' and choose the exported database file from the
db
folder. Click 'Go' to import the database. - Clone the repository and navigate to the
api
folder. - Run
npm install
to install the required dependencies.
Make sure that you have the Angular CLI installed globally. If not, install it using the following command:
npm install -g @angular/cli
- Navigate to the root directory of the project.
- Run
npm install
to install all the required dependencies.
To run the application, you need to start both the backend and the frontend servers.
Navigate to the api
folder.
Run the following command to start the server:
node app.js
You should now have your backend running on http://localhost:3000/.
Navigate to the root directory of the project. Run the following command to start the Angular dev server:
ng serve
You should now have your frontend running on http://localhost:4200/. Visit http://localhost:4200/ in your browser. Your application should be up and running.
Below are some more screenshots demonstrating the features of the application.
Feel free to fork this repository and enhance the application.