Skip to content

This repository contains a MERN stack application. It features a full-stack setup with MongoDB, Express, React, and Node.js, tailored for managing musical event data.

Notifications You must be signed in to change notification settings

shliamin/MERN-Musical-Events

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MERN Musical Events Application

Efim Shliamin

This repository contains a full-stack application built with the MERN stack (MongoDB, Express, React, Node.js). The application is designed for managing musical event data using geocoding.

Users can log in or register and then create their own unique music event with a real address:

Demo 1

All addresses appear on the map and can be viewed:

Demo 2

Addresses can be easily edited:

Demo 3

idea2 idea3 Idea 1

Project Structure

MERN-Musical-Events/
  ├── frontend/
  │   ├── public/
  │   │   ├── index.html      <- Main HTML file, React mounts here
  │   │   │── favicon.ico     <- Icon for browser tabs and bookmarks
  │   │   │── manifest.json   <- PWA settings, metadata for the app
  │   │   └── robots.txt      <- Instructs search engines on indexing rules
  │   ├── src/
  │   │   ├── contacts/       <- Components related to contacts management
  │   │   ├── shared/         <- Shared components or utilities
  │   │   ├── users/          <- Components related to user management
  │   │   ├── App.js          <- *Main component, organizes application structure
  │   │   ├── index.js        <- Entry point, renders App component
  │   │   └── index.css       <- Global CSS styles for the app
  │   ├── .gitignore          <- Specifies files and directories to ignore in frontend
  │   ├── package.json        <- Manages project dependencies and scripts
  │   ├── README.md           <- Provides information about the frontend
  ├── backend/
  │   ├── src/
  │   │   ├── controllers/
  │   │   │   ├── contacts-controllers.js     <- Manages contact-related functions
  │   │   │   └── users-controllers.js        <- Handles user-related logic
  │   │   ├── routes/
  │   │   │   ├── index.js                    <- Combines and exports all routes
  │   │   │   ├── users-routes.js             <- User-related routes
  │   │   │   └── contacts-routes.js          <- Contact-related routes
  │   │   ├── models/
  │   │   │   ├── user.js                     <- Defines user schema
  │   │   │   └── contact.js                  <- Defines contact schema
  │   │   ├── utils/
  │   │   │   ├── http-errors.js              <- Custom HTTP error handling
  │   │   │   └── location.js                 <- Handles geolocation logic
  │   │   ├── config/
  │   │   │   └── db.js                       <- Establishes & manages the db
  │   │   ├── views/
  │   │   │   └── error.pug                   <- Template for rendering error pages
  │   │   ├── app.js                          <- *Main server file
  │   ├── .gitignore                          <- Ignore specified files in backend
  │   ├── package.json                        <- Project dependencies and scripts
  │   ├── Procfile                            <- Heroku deployment instructions
  │   ├── .env                                <- Securely stores environment variables
  │   ├── README.md                           <- Backend documentation
  ├── .gitignore
  ├── README.md

The main .gitignore File

The .gitignore file is used to specify which files and directories should be ignored by Git. This helps to keep the repository clean and free of unnecessary files. Below is an explanation of a comprehensive .gitignore file tailored for a MERN stack application:

  • Logs: Specifies log files and directories to be ignored.
  • Diagnostic reports: Ignores diagnostic reports generated by Node.js.
  • Runtime data: Ignores process ID files and locks.
  • Coverage: Ignores test coverage directories and files generated by tools like Istanbul.
  • Dependency directories: Ignores directories used by package managers like npm, Yarn, Bower, etc.
  • TypeScript cache: Ignores TypeScript cache files.
  • Optional caches: Ignores cache files for various tools like eslint, stylelint, microbundle, REPL history, etc.
  • Build directories: Ignores build output directories.
  • Environment variables: Ignores environment variable files.
  • IDEs and editors: Ignores configuration files and directories for various IDEs and editors.

About

This repository contains a MERN stack application. It features a full-stack setup with MongoDB, Express, React, and Node.js, tailored for managing musical event data.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published