Lofipomo is a MERN (MongoDB, Express, React, Node) full-stack web application designed to enhance productivity by combining a variety of features. It includes a Lofi Radio for tuning into your favorite chill tunes, a Todo List manager, a Notepad for jotting down your thoughts, and a Pomodoro Timer for effective time management.
- Lofi Radio Streams: Tune into your favorite lofi songs while you work.Enjoy a curated selection of Lofi music streams to create a relaxed atmosphere while working.
- Todo List: Keep track of your tasks and mark them off as you complete them.
- Notepad: Quickly jot down your thoughts, ideas, or anything you want to remember in the Notepad section.
- Pomodoro Timer: Stay focused and boost productivity with the Pomodoro Timer, a technique for time management.
LofiPomo is a MERN stack application, which stands for MongoDB, Express, React, and Node.js:
- MongoDB: A NoSQL database used to store todo items and notes.
- Express: A web application framework for Node.js, used to build the API.
- React: A JavaScript library for building the user interface.
- Auth0: An authentication library that provides authentication and authorization for users.
- Node.js: A JavaScript runtime used to run the server.
The application is containerized using Docker, with separate containers for the frontend and backend. These containers are managed together using Docker Compose.
- Terraform is used to provision an EC2 Instance with AWS.
- Ansible is used to configure the Instance to install required services.
- Github Actions is used for Continuous Integration and Continuous Deployment.
To get a local copy up and running, follow these steps:
- Clone the repo
- Run Docker Compose
docker-compose up
.
OR
- Clone the repo
- Install packages in the said frontend & backend directories.
- run
npm start
in both directories.