Code Monkey home page Code Monkey logo

gitchat's Introduction

finalproject

This project is the final project for the "Databases & System Development" class.

If you want to take a look at the project, you can find a live build here: https://chat.krusbersky.net

Project Description

The goal of this project is to create a chat application with a backend and a frontend. The backend will handle multiple users and store their messages in a database, while the frontend will display the messages and allow users to send messages.

Project Structure

The project follows a MERN (MongoDB, Express.js, React.js, Node.js) stack structure. This means that the backend is built with Node.js and Express.js, the frontend is developed using React.js, and the database employed is MongoDB.

Getting Started

To get started with the project, follow the instructions below.

Docker Compose (Recommended)

  1. Clone the repository:
git clone https://gitlab.com/cl3mi1/finalproject
cd finalproject
  1. Run the Docker Compose dev file:
docker compose -f docker-compose_dev.yml up --build

This command will start the development server on port 5000, and the database will run on port 80. The database will be persisted in the Docker volume mongodb_data.

npm Run (For Development)

  1. Clone the repository:
git clone https://gitlab.com/cl3mi1/finalproject
cd finalproject
  1. Run the backend and frontend separately:
  • Backend:

    cd backend
    npm install
    npm run dev
    
  • Frontend:

    cd frontend
    npm install
    npm run dev
    

This will start the development server on port 5000, and the database will run on port 8080. Note that a database is required to run the backend. You can either use the Docker Compose method described above or install MongoDB locally:

docker run -d -p 27017:27017 --name test-mongo mongo:latest

Workflow

To ensure smooth collaboration, please follow the workflow outlined below:

  • Create a new branch for your work:
git checkout -b [branchname]
  • Pull the latest changes from the main branch before starting your work:
git pull
  • Push your changes to your branch.
  • Create a merge request on GitLab.
  • Test your changes before merging into the main branch.

Please adhere to these guidelines to maintain code consistency and facilitate seamless integration of contributions.

If you have any questions or need further assistance, feel free to reach out. Happy coding!

gitchat's People

Contributors

cl3mi avatar skr32 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.