College Website โ
College Website (Academy Of Technology)
Welcome to the official repository for the Academy of Technology's college website. This project is developed as part of a college-level website design challenge. The website provides comprehensive information about the college, including events, notices, departments, and more.
Live Link ยท Repo Link ยท LinkedIn Post ยท Mail Us
๐ป Demo โ
๐ฐ Table of Contents
๐ ๏ธ Tech Stack โ
This project utilizes the following technologies:
- Next.js: A React framework for building server-side rendered and static web applications.
- MongoDB: A NoSQL database for storing application data.
- Node.js: A JavaScript runtime for executing server-side code.
- Express.js: A web application framework for Node.js.
- jsonwebtoken: A library for creating and verifying JSON Web Tokens (JWT) for authentication.
- Tailwind CSS: A utility-first CSS framework for designing responsive user interfaces.
- bcrypt: A library for hashing passwords.
- Cloudinary: A cloud-based service for managing images and videos.
- cookie-parser: Middleware for parsing cookies.
- GitHub: Version control and collaboration platform.
- nextjs-toploader: A loading indicator component for Next.js.
๐ Features โ
The website includes the following features:
- Admin Authentication: Secure login system for admin users.
- Admin Dashboard: Interface for admins to manage website content.
- Create Event: Admins can create new events.
- Edit Event: Admins can edit existing events.
- Responsive UI: The website is fully responsive and works on all devices.
- Current Notice Line: Displays the latest notices for students and staff.
- About Section: Information about the college.
- Upcoming Event Section: Lists future events at the college.
- Highlights Section: Showcases important achievements and news.
- Departments Section: Information about various departments.
- FAQ Section: Frequently asked questions and their answers.
- Syllabus Option: Provides syllabus for all departments.
- Contact Option: Contact form and details for reaching out to the college.
๐ฐ Important Feature : โ
Admin Authentication โ
The website includes a robust admin authentication system. Upon signup, new admin account is created, but he/she is not immediately granted access to the admin dashboard. Instead, they undergo verification by a designated "super admin" from our database.
Super Admin: The Database Owner โ
Only super admins have the authority to approve new admin accounts. This verification step ensures that only authorized individuals gain access to the admin dashboard and its functionalities.
Admin Dashboard Access โ
Once verified by a super admin, admin users gain access to the admin dashboard. From there, they can perform various tasks such as adding, editing, and managing events, as well as other administrative duties.
This two-step authentication process enhances security and control over admin access to the website's backend functionalities.
โจ Screenshots โ
๐ป Desktop View : โ
โจ Home Page : โ
โจ Departments Page : โ
โจ Admin Dashboard Page : โ
โจ FAQ Section : โ
๐ฑ Mobile View : โ
โจ Home Page : โ
โจ Departments Page : โ
โจ Admin Dashboard Page : โ
โจ Installation โ
To set up the project locally, follow these steps:
Clone the repository:
shgit clone https://github.com/Soumojitshome2023/college-website-nextjs
Install the dependencies:
shnpm install
Set up environment variables. Create a
.env
file in the root directory and add the following variables:- Client :
shNEXT_PUBLIC_BASEURL=http://localhost:3000 NEXT_PUBLIC_SERVERURL=http://localhost:4000 NEXT_PUBLIC_CLOUDNAME= NEXT_PUBLIC_UPLOAD_PRESET= NEXT_PUBLIC_CLOUD_FOLDER=college_website
- Server :
shMONGO_URI= FRONTEND_URI=http://localhost:3000 REFRESH_TOKEN_KEY= ACCESS_TOKEN_KEY= PORT=4000
Run the development server:
shnpm run dev
โจ Usage โ
To use the website, navigate to http://localhost:3000
in your browser. Admin users can log in to access the admin dashboard and manage content.
โจ Developers : โ
Made with โค๏ธ by team NextGenDev
Soumojit Shome[Lead] | Satwick Mukherjee | Ritesh Pramanik | Debojyoti De |