Full-stack application example Using NodeJS + NestJS, React + SASS, MongoDB, NX monorepo

Overview

Full-stack application example

Check out my other repositories:


This is an example of a simple full-stack application that integrates with an external API.

The Application is a web app for searching movies. You can also add new movies that will be saved to a database and indexed in an external search engine.

Movie indexer app

This can be a good example for people who are trying to learn how to structure a full-stack application of a low-medium complexity.

Code examples cover things like testing, documentation, integration with external APIs, working with a database, configs and environmental variables, easy application setup, project folder/file structure etc.

Note: this repo is a work in progress, frontend is a bit messy and unfinished. Backend is mostly finished. Keep in mind that this is just an example app and it is not perfect.

Tech used:

Running the application

Note: You must have docker installed and running before continuing.

  • npm run setup - setups the application (installs dependencies, docker images, creates .env files).

  • Sign up in Algolia Developer hub https://www.algolia.com/developers/ and set your Algolia API keys in .env and .env.test files.

  • npm run docker:env - run docker environment (starts mongodb)

  • npm run seed:dev - seed database and index with some dummy data (docker environment must be running and api keys must be set in .env )

  • npm run start:dev - starts api and client

  • Client web application will be available at http://localhost:4200

  • API endpoints will be available at http://localhost:3333/api/v1/movies

Other

  • http://localhost:3333/docs/ - open in browser to see api documentation (api must be running)
  • npm run test:api - run tests for api (docker environment must be running)
  • npm run test:client - run tests for client
  • npm run dep-graph - see dependency graph

Pending to do (mostly frontend):

  • Confirm dialog on movie deletion
  • Optimistic updates when a movie is created
  • Add query to URL when searching
  • Add tests to frontend (unit and cypress)
  • Polish UI/UX, refactor messy code, fix minor bugs

Feel free to contribute and improve code if you like.

You might also like...
A Full Stack Amazon Clone which created using ReactJS with full E-Commerce Functionality!!

A Full Stack Amazon Clone which created using ReactJS with full E-Commerce Functionality!!

A full E-Commerce Full Stack Amazon Clone which built using ReactJS. You can register, sign in and shop!

Amazon Clone with ReactJS In this Amazon Clone application you can register on the site, log in with your account, shop, pay for the products and see

A Responsive Full Stack Amazon Clone which created using ReactJS with full E-Commerce Functionality
A Responsive Full Stack Amazon Clone which created using ReactJS with full E-Commerce Functionality

A Responsive Full Stack Amazon Clone which created using ReactJS with full E-Commerce Functionality including user register, user login, user authentication, shop cart management, order management, and payment using Stripe, etc.

Instagram MERN - Full-Stack Instgram Clone using MERN Stack and Socket.io
Instagram MERN - Full-Stack Instgram Clone using MERN Stack and Socket.io

Instagram MERN Full-Stack Instgram Clone using MERN Stack and Socket.io Visit Now 🚀 🖥️ Tech Stack Frontend: Backend: Realtime Communication: Cloud S

Backend for probook social media app using Nodejs, mongodb, express, jwt etc. Frontend is React, redux, material ui.
Backend for probook social media app using Nodejs, mongodb, express, jwt etc. Frontend is React, redux, material ui.

Probook - A social media app Probook App | A Social Media App An social media platform built using ReactJS, Redux Toolkit,Material UI, Node, Express,

Discord-clone - Discord Clone using React, ReactQuery, Tailwindcss, Redux, Socket IO, NodeJS, Express, MongoDB and Redis
Discord-clone - Discord Clone using React, ReactQuery, Tailwindcss, Redux, Socket IO, NodeJS, Express, MongoDB and Redis

Discord Clone using React, ReactQuery, Tailwindcss, Redux, Socket IO, NodeJS, Ex

A lightweight message board made with MongoDB, Express, React, and NodeJS
A lightweight message board made with MongoDB, Express, React, and NodeJS

💬 Mini message board A lightweight message board made with MongoDB, Express, React, and NodeJS. 📚 Libraries and tools used Frontend React: Frontend

A social-network project with MERN (MongoDb, Express, ReactJs, NodeJs) + tailwindCss
A social-network project with MERN (MongoDb, Express, ReactJs, NodeJs) + tailwindCss

Introduction This is a social-network project with MERN (MongoDb, Express, ReactJs, NodeJs) + tailwindCss Page (Not logged) Home. Login. Register. For

Zomato clone with Reactjs, MongoDB, Express , Nodejs, HTML, CSS, Bootstrap, firebase
Zomato clone with Reactjs, MongoDB, Express , Nodejs, HTML, CSS, Bootstrap, firebase

Zomato is an Indian multinational restaurant aggregator and food delivery company founded by Deepinder Goyal and Pankaj Chaddah in 2008. Zomato provides information, menus and user-reviews of restaurants as well as food delivery options from partner restaurants in select cities. As of 2019, the service is available in 24 countries and in more than 10,000 cities.

Full React with Nestjs/Nodejs Web Application deployed on Hostinger with docker and docker-compose

Full Web App React Nodejs w/ GraphQL Tailwind and Docker From Zero To Deployment | Master MERN STACK Full Video Course on CoderOne channel https://you

Islem Maboud 315 Jan 9, 2023
E-commerce Web App for audio products. A full-stack project, using Nodejs and Express in the backend, MongoDB as database, React, and Redux on the front-end.

E-commerce Web App for audio products. A full-stack project, using Nodejs and Express in the backend, MongoDB as database, React, and Redux on the front-end.

Jose Furtado 11 Jan 2, 2023
Online Marketplace Built with MERN stack (MongoDB, Express, React and Node)Online Marketplace Built with MERN stack (MongoDB, Express, React and Node)

?? Shopping App ?? Online Marketplace Built with MERN stack (MongoDB, Express, React and Node). ⚡️ ⚡️ ⚡️ Kiwi Shop ⚡️ ⚡️ ⚡️ ?? Table of contents Main

Tomiwa Adeyemi 10 Dec 23, 2022
A full-stack web app built with NestJS and ReactJS that helps you find and discover over 500,000+ video games on your device. Powered by RAWG API.

Game Store Monorepo A full-stack web app built with NestJS and ReactJS that helps you find and discover over 500,000+ video games on your device. Powe

Vu Nguyen 120 Dec 29, 2022
🍕 Uber Eats Clone with React, Typescript, NodeJS, NestJS, Apollo, GraphQL, PostgreSQL, TypeORM

?? Uber Eats Clone with React, Typescript, NodeJS, NestJS, Apollo, GraphQL, PostgreSQL, TypeORM

GW 6 Dec 25, 2022
A full stack application of a personal wallet made with React, Node and MongoDB

The frontend of a full stack application of a personal wallet made with React, Node and MongoDB that allows you to add inputs, outputs and see all your extract.

Bernardo Rodrigues 5 Jun 2, 2022
A full stack task manager application built with node, react,mongodb,and mantine.

A full stack task manager application built with node, react,mongodb,and mantine.

Rajan 1 Mar 12, 2022
Full Stack Stream Group Chat Made with React - Nodejs📢

Full Stack Realtime Chat Messaging Application with authintication, direct messages, group chats creation, emojis & reactions, giphs, edit and delete messages, reply and specialized commands as forward. Made with React - Nodejs .

Kareem Abdelsamea Fahmy 6 Jul 6, 2022
MERN BLOG - Fullstack open source blogging application made with MongoDB, Express, React & Nodejs (MERN)

MERN BLOG Fullstack open source blogging application made with MongoDB, Express, React & Nodejs (MERN) Configuration and Setup Key Features Technologi

Muhammet Yıldız 25 Dec 21, 2022
Mernmap Open Source Application Built With The MERN(Mongodb , ExpressJS, ReactJS, NodeJS)

Meanmap MERNMAP is an interactive map for mern(MongoDB, ExpressJS, ReactJS, NodeJS) Stack Developers all over the world. It provides an avenue where a

Ayeni Olusegun 9 May 24, 2021