Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rtasalem/todo-list-application

A containerised to-do list application which uses RESTful API consumption throughout to allow users to fetch, add, update, and delete tasks from a PostgreSQL database. Built using Node.js, Express.js, React.js, and PostgreSQL. Frontend, backend, and database are fully containerised using Docker.
https://github.com/rtasalem/todo-list-application

amazon-s3 crud docker javascript jest mocha nodejs pgadmin4 postgresql reactjs rest-api selenium sequelize

Last synced: 9 days ago
JSON representation

A containerised to-do list application which uses RESTful API consumption throughout to allow users to fetch, add, update, and delete tasks from a PostgreSQL database. Built using Node.js, Express.js, React.js, and PostgreSQL. Frontend, backend, and database are fully containerised using Docker.

Awesome Lists containing this project

README

        

# To-Do List Application
### Developers
Laila Al-Eissa ([LinkedIn](https://www.linkedin.com/in/lailaaleissa/) | [GitHub](https://github.com/lailien3)), Sebastian Horon ([LinkedIn](https://www.linkedin.com/in/sebastian-horon/) | [GitHub](https://github.com/sebhoron)), Amirs Ishmuhametovs ([LinkedIn](https://www.linkedin.com/in/amirs-ismuhametovs/) | [GitHub](https://github.com/JungaBunga)), Adam Kay ([LinkedIn](https://www.linkedin.com/in/adam-s-kay/) | [GitHub](https://github.com/thousand-leaves)), Rana Salem ([LinkedIn](https://www.linkedin.com/in/ranatasalem/) | [GitHub](https://github.com/rtasalem)), Roble Siyad ([LinkedIn](https://www.linkedin.com/in/roble-siyad-77a479223/) | [GitHub](https://github.com/rvsiyad)).
## Background
The developers behind this To-Do List Application are all software developers (IT consultants) at FDM Group. To prepare for a 2-year placement with DEFRA (Department for Environment, Food and Rural Affairs), the team built this application as way of up-skilling in various technologies (see below) that they will be using while working amongst different development teams within DEFRA.
## Team Organisation
The Scrum methodology was adopted by the team with the project taking 3 sprints (each lasting 1 week) to complete. For the distribution and breakdown of tasks, the team used Kanban boards and product/sprint backlogs via [Jira](https://www.atlassian.com/software/jira).
## Libraries & Technologies
- [Node.js](https://nodejs.org/en) & [Express.js](https://expressjs.com/): Backend functionality (CRUD implementation)
- [Jest](https://jestjs.io/): Unit testing
- [React.js](https://react.dev/): Frontend implementation
- [Selenium WebDriver](https://www.selenium.dev/documentation/webdriver/) & [Mocha](https://mochajs.org/): Functional testing
- [Docker](https://www.docker.com/): Containerisation & image sharing
- [Postman](https://www.postman.com/): API testing
- [Amazon S3 Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html): Media file storage
- [PostgreSQL](https://www.postgresql.org/) & [pgAdmin 4](https://www.pgadmin.org/): Database setup
## Getting Started
After cloning the repository and opening the project, ensure Docker is running locally and run the following commands in the terminal:
- `cd frontend`
- `npm install`
- `cd ..`
- `cd backend`
- `npm install`
- `docker compose up -d`

Once the todo-list-application container has been built, enter localhost:3000 into the browser to view the application and experience the functionality as a user.