Skip to content

Shawarma22/nmmun

 
 

Repository files navigation

!!!

Forked from https://github.com/clupai8o0/nmmun. This repo is for 2024-2025 NMMUN. So much work was put into this website by @cupai8o0 and team. It was obvious to carry it forward to the next batch.❤️💯

NMMUN

Explore the world of diplomacy and global affairs with the New Millennium Model United Nations Conference. Engage in debates, draft resolutions, and broaden your horizons. Join us for an educational journey that shapes future leaders. This is a web project for NMMUN, built using Next.js to be aesthetically pleasing, smooth, and SEO friendly. Targeted towards the NMMUN participants, any alterations are to be made only by the IT team of that year's NMMUN after being approved by the Organizing Committee and Design Team.

Table of Content

Prerequisite

  • Basic knowledge in HTML, CSS, and JS
  • Some knowledge in React.js
  • At least one web project
  • Completed TODO.md

About this Project

This project is built using Next.js. Though experience in Next.js isn't required as React.js (or JavaScript) knowledge should be enough to make basic changes. Big changes on the other hand, like adding new pages and routes requires experience in Next.js. In that situation, I would recommend this tutorial. If you lack experience in React.js as well watch this tutorial.

Installation

Download Git & Node.js, and follow the procedure to install them. Once you do, open git bash or any terminal of your choice, in your desired folder, then clone the repo, and install the dependencies.

git clone https://github.com/<your username>/nmmun.git
cd nmmun
npm install

Development Setup

Open the folder in your desired code editor. Create a file .env.local ()

NEXT_PUBLIC_STATUS=DEVELOPMENT

Start the development server

npm run dev

Open http://localhost:3000 on your browser

Project Structure

Main project structure

├── /app                # main folder where all pages and content is rendered
├── /components         # the components and layouts to assist content creation
├── /hooks              # react hooks to help
├── /lib                # all the helper functions and configurations
├── /public             # the static content (images)
├── tailwind.config.ts  # color and font configuration
├── README.md           # important information about the project
└── TODO.md             # All the to-dos

Main App Directory

├── /app
│   ├── /contact      # contact us page
│   ├── /council/id   # individual council page
│   ├── /councils     # councils page
│   ├── /gallery      # gallery page
│   ├── /info         # information page
│   ├── /register     # mun registration page
│   ├── /team         # organizing committee page
│   ├── layout.tsx    # ignore
│   ├── page.tsx      # home page
│   └── global.css    # main css file
└── ...

Components Directory

├── ...
├── /components
│   ├── /content      # all components that render some content
│   ├── /layouts      # layout components
│   ├── /navigation   # components that assist navigation
│   ├── /typography   # heading and paragraph components
│   └── /ui           # shadcn ui components (leave as it is)
└── ...

Configurations

There are 4 ways to configure content

1. /lib/config.ts     # for configuring hero text, banner text, event date, info page content
2. /lib/links.ts      # for configuring the navbar links and the council and team page links & content
3. /lib/metadata.ts   # for configuring the metadata of each page
4. /app/**/page.ts    # configuring the content in each page

Components

Guidelines for creating and organizing components.

Layouts

Explanation of layout components and their usage.

Styling

Preferred styling methods and examples.

Animation

Deployment

The deployment and domain are entirely up to you. You can either:

  1. Deploy the project independently on Vercel.
  2. Contribute changes to this project.

Domain is on NameCheap, you need only contact the last Head of IT (check contact information) and gain domain access from them (it needs renewal every September 17th).

Contributing

The NMMUN project source code is built in such a way that you shouldn't have to make any alterations in the components and layouts. The only alterations required should be in the /lib/config.ts file and the individual page styling anc content. I would recommend not altering components and layouts code as much to avoid errors, but if big changes are made please update the README.md and comment your changes when contributing.

Additional Resources

Don't limit your ideas. If you have a creative vision or idea and don't know how to proceed with it, contact me (Head of IT 2023) or check out the resources below.

Recommended extensions

Contact Information

NMMUN'24 Head of IT - Hiranya Bansal Instagram

NMMUN'23 Head of IT - Samridh Limbu Github Instagram Email - limbusamaka@icloud.com

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 96.3%
  • CSS 3.6%
  • JavaScript 0.1%