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.❤️💯
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.
- Prerequisite
- About this project
- Installation
- Development Setup
- Project Structure
- Configurations
- Components
- Layouts
- Styling
- Animation
- Deployment
- Contributing
- Additional Resources
- Contact Information
- Basic knowledge in HTML, CSS, and JS
- Some knowledge in React.js
- At least one web project
- Completed TODO.md
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.
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
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
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)
└── ...
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
Guidelines for creating and organizing components.
Explanation of layout components and their usage.
Preferred styling methods and examples.
The deployment and domain are entirely up to you. You can either:
- Deploy the project independently on Vercel.
- 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).
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.
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.
- TypeScript
- React.js
- Next.js
- UI components - Shad CN
- CSS classes - Tailwind
- Animations - Framer Motion
Recommended extensions
- Tailwind CSS IntelliSense
- Better Components - Colorful comments
- Markdown Preview Enhanced - Preview markdown code
- Color Highlight
- Code Spell Checker - Avoid spelling mistakes
- Monokai Pro - My recommended theme
NMMUN'24 Head of IT - Hiranya Bansal Instagram
NMMUN'23 Head of IT - Samridh Limbu Github Instagram Email - [email protected]