ShaleApps Full Stack Engineering Challenge (Todo) - Amirul

Description

This project is a Todo List app built as part of the ShaleApps Full Stack Engineering Challenge. The app allows users to manage their tasks efficiently without the hassle of authentication. It is implemented using Go for the backend and Angular for the web client.

Basic Criteria

  • Storage: Items are stored in a relational/SQL database
  • Version Control: The project is version controlled using Git and hosted on GitHub: https://github.com/mirul22/shaleapps-challenge
  • Deployment: The app is deployed online for accessibility on Heroku

Technologies Used

  • Backend: Go
  • Frontend: Angular
  • Docker: For containerization
  • Heroku: For deployment

Features

  • Task Management: Easily add, remove, and update tasks.
  • User-friendly Interface: Intuitive design for seamless user experience.
  • Efficient Storage: Utilizes a relational database for efficient data management.

Deployment

Installation and Usage

To run this project locally using Docker, follow these steps (Run in your terminal):

  1. Clone the repository to your local machine:

    git clone https://github.com/mirul22/shaleapps-challenge.git

Frontend

  1. Navigate to the project directory (frontend):

    cd frontend
  2. Install all dependencies

    npm install
  3. Serve the project

    ng serve
  4. Access the app via your web browser at http://localhost:4200.

Backend

  1. Navigate to the project directory (backend):

    cd backend
  2. Build and start the Docker containers:

    docker-compose up --build
  3. Access the app via your web browser at http://localhost:8000/api/todos.

Getting Started

To get started with the project, ensure you have Docker installed on your machine. Docker makes it easy to set up and run the project in any environment without worrying about dependencies.

Contributors

  • Amirul - Lead Developer

License

This project is licensed under the MIT License.

Acknowledgments

  • Special thanks to ShaleApps for providing the opportunity to work on this challenge.
  • Thanks to the developers of Go and Angular for creating such powerful tools.

Resources

Technologies

Go Learning Resources