Skip to content

Asim-Shah-web/Meetup-fullStack-App-Nextjs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

React Meetups - Portfolio Project

A full-stack React application for managing and browsing Meetups built with Next.js 13 and MongoDB.

Features

  • 📋 Browse Meetups - View all upcoming React meetups on the homepage
  • Add Meetups - Submit new meetups with title, image, address, and description
  • 📄 Meetup Details - View comprehensive information for each meetup
  • 💾 MongoDB Database - Persistent data storage with Atlas
  • 🔄 Static Site Generation - Optimized for performance with getStaticProps
  • 🎨 Modern Styling - CSS Modules for component-scoped styling

Tech Stack

Technology Purpose
Next.js 13 React framework with App Router & SSG
React 19 UI library
MongoDB Database for storing meetups
MongoDB Atlas Cloud database hosting
CSS Modules Component-level styling

Getting Started

Prerequisites

  • Node.js 18+ installed
  • MongoDB Atlas account (or local MongoDB)

Installation

  1. Clone the repository:
git clone <repository-url>
cd Next-js-Meetup-Project
  1. Install dependencies:
npm install
  1. Create a .env.local file in the root directory:
MONGODB_URI=mongodb+srv://<username>:<password>@cluster0.kvyhbc9.mongodb.net/?appName=Cluster0
  1. Run the development server:
npm run dev

Open http://localhost:3000 to see the application.

Available Scripts

Script Description
npm run dev Starts the development server on port 3000
npm run build Creates an optimized production build
npm run start Runs the production server

Project Structure

Next-js-Meetup-Project/
├── components/
│   ├── layout/
│   │   ├── Layout.js         # Main layout wrapper
│   │   └── MainNavigation.js # Header with navigation
│   ├── meetups/
│   │   ├── MeetupDetail.js   # Individual meetup details page
│   │   ├── MeetupItem.js     # Individual meetup card
│   │   ├── MeetupList.js     # List of meetups
│   │   └── NewMeetupForm.js  # Form for adding new meetups
│   └── ui/
│       └── Card.js            # Reusable card component
├── pages/
│   ├── api/
│   │   └── new-meetup.js     # API endpoint for adding meetups
│   ├── new-meetup/           # Add new meetup page
│   │   └── index.js
│   ├── [meetupId]/           # Dynamic meetup detail page
│   │   └── index.js
│   ├── _app.js               # Custom App component
│   └── index.js              # Homepage
└── .env.local                # Environment variables (not committed)

Environment Variables

Create a .env.local file with:

MONGODB_URI=mongodb+srv://<username>:<password>@cluster.mongodb.net/?appName=Cluster0

Note: The .env.local file is gitignored to protect your credentials.

Deployment

Vercel (Recommended)

  1. Install Vercel CLI:
npm i -g vercel
  1. Deploy:
vercel
  1. Add your MONGODB_URI in Vercel dashboard > Settings > Environment Variables

Manual Deployment

  1. Build the project:
npm run build
  1. Start the production server:
npm start

Learn More

To learn more about Next.js, MongoDB, and React:

License

This project is part of a React/Next.js course and is for educational purposes.

About

Meetup Planner - A modern Next.js full-stack web app built with React, MongoDB & Next.js Pages Router. Features SSR, SSG, dynamic routing, and API routes.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors