All Projects → LastComrade → Events-based-organizational-website

LastComrade / Events-based-organizational-website

Licence: MIT license
The official codebase for college-based (event managing) organizations. FOUR-LEVEL Authorization system and scalable.

Programming Languages

EJS
674 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to Events-based-organizational-website

Growth In Action
全栈增长工程师实战
Stars: ✭ 2,411 (+17121.43%)
Mutual labels:  backend, fullstack
Vue Composable
Vue composition-api composable components. i18n, validation, pagination, fetch, etc. +50 different composables
Stars: ✭ 638 (+4457.14%)
Mutual labels:  validation, tailwindcss
Appy
🚀 A full stack boilerplate web app
Stars: ✭ 225 (+1507.14%)
Mutual labels:  backend, authorization
Djreact
A simple introduction to integrating Django and React.
Stars: ✭ 317 (+2164.29%)
Mutual labels:  backend, fullstack
todo
An example todo application with Go!
Stars: ✭ 61 (+335.71%)
Mutual labels:  backend, webdevelopment
Nextjs Wordpress Starter
WebDevStudios Next.js WordPress Starter
Stars: ✭ 104 (+642.86%)
Mutual labels:  backend, tailwindcss
Annon.api
Configurable API gateway that acts as a reverse proxy with a plugin system.
Stars: ✭ 306 (+2085.71%)
Mutual labels:  validation, authorization
food-help
A clone of popular food and business review web app yelp
Stars: ✭ 24 (+71.43%)
Mutual labels:  backend, fullstack
TradeByte
💸 TradeByte - Stocks Trading Simulation WebApp
Stars: ✭ 30 (+114.29%)
Mutual labels:  ejs, gmail-api
Run Aspnetcore Realworld
E-Commerce real world example of run-aspnetcore ASP.NET Core web application. Implemented e-commerce domain with clean architecture for ASP.NET Core reference application, demonstrating a layered application architecture with DDD best practices. Download 100+ page eBook PDF from here ->
Stars: ✭ 208 (+1385.71%)
Mutual labels:  validation, authorization
full stack knowledge list
full_stack_knowledge_list,开发知识体系,主要是全栈开发知识体系。 目的:每一个开发人员都应该形成自己的知识体系,做到提纲挈领。在设计代码,聊技术,面试,系统结构设计,架构设计等时候,能够游刃有余,充满自信。 特点: 1、前端领域:Html和css基础,JavaScript,计算机基础,框架和类库,前端工程,项目构建,算法与数据结构等。 2、后端领域:欢迎补充。。。
Stars: ✭ 26 (+85.71%)
Mutual labels:  backend, fullstack
Full-Stack-Development-Learning-Path
This repo contains all the things which I practice while learning the Full-stack web development
Stars: ✭ 80 (+471.43%)
Mutual labels:  backend, fullstack
mangooio
An Intuitive, Lightweight, High Performance Full Stack Java Web Framework.
Stars: ✭ 52 (+271.43%)
Mutual labels:  backend, fullstack
Sifrr
⚡️ Set of tiny, independent libraries for creating modern and fast webapps with javascript/typescript
Stars: ✭ 174 (+1142.86%)
Mutual labels:  backend, fullstack
profile-store
Store profile links of people you admire, at one place. Made using MERN stack.
Stars: ✭ 37 (+164.29%)
Mutual labels:  backend, fullstack
Yii2 Usuario
Highly customizable and extensible user management, authentication, and authorization Yii2 extension
Stars: ✭ 251 (+1692.86%)
Mutual labels:  backend, authorization
Mern Boilerplate
Fullstack boilerplate with React, Redux, Express, Mongoose, Passport Local, JWT, Facebook and Google OAuth out of the box.
Stars: ✭ 112 (+700%)
Mutual labels:  authorization, fullstack
Fullstack Apollo React Boilerplate
💥A sophisticated Apollo in React boilerplate project.
Stars: ✭ 136 (+871.43%)
Mutual labels:  authorization, fullstack
Framework
Strongly-typed JavaScript object with support for validation and error handling.
Stars: ✭ 136 (+871.43%)
Mutual labels:  validation, backend
Trybe-School
All activities while studying at Trybe fullstack software development school. Contains: projects, exercises, course summaries. Brazil, 2020-2021.
Stars: ✭ 73 (+421.43%)
Mutual labels:  backend, fullstack

Events-based-organizational-website

Contributors Forks Stargazers Issues MIT License LinkedIn

The official codebase for college-based (event managing) organizations. FOUR-LEVEL Authorization system and scalable. All the necessary commands and software required for the installation of this project locally are listed below.

Demo Link - Click Here (Opens a link of Heroku deployment in the new tab)

Table of Contents
  1. Installation
  2. Usage
  3. Project
  4. Contributing
  5. License
  6. Contact

Installation

1. Cloning the repository

Run the git clone command to clone this repository locally in your machine. You can run this command in CMD, GIT Bash, and obviously in the terminal (For macOS and Linux machines)

git clone https://github.com/LastComrade/Events-based-organizational-website.git

2. Installing all the necessary NPM packages

Software required -

  1. NodeJS (LTS version is preferred)
  2. GIT
  3. MongoDB (Stable version is preferred)

Run the npm install command to install all the necessary dependencies for this project.

npm install

3. Setup the environment variables

For reference take the help of the .env.example file.

Usage

  1. After the successful installation of the MongoDB. Run this command to run the database server locally in your machine
mongod
  1. Now, run the npm run dev command to start the server with the port 3000
npm run dev
  1. Configure your environment variables.

Project should be up and running with the URL - http://localhost:3000 locally.

Project

For front-end Tailwind CSS and EJS templating engine is used and for back-end Express (NodeJS Framework) is used. MongoDB is used as the database.

1. Routes (GET)

Home Routes

  • / - Home page.
  • /credits - Credits page.

Event Routes

  • /events - List the latest top 4 events from available categories.
  • /events/{name_of_the_event} - Dedicated event page.
  • /events/live/all - List all the live events (webninars or events/content that are streamed live).

  • /events/upcoming/all - List all the upcoming events.
  • /events/ongoing/all - List all the ongoing events.
  • /events/archived/all - List all the archived events.

Department Routes

  • /departments - List all the departments with their name, image, and description.
  • /departments/{name_of_the_department} - Dedicated department page.

Authentication Routes

  • /staff-register - Registration route for staff member.
  • /staff-login - Login route for staff member.
  • /staff-logout - Logout route for staff member.
  • /forgot-password - Forgot password route renders a page asking for the email to verify.

Dashboard Routes

  • /dashboard - Render the dashboard page.
  • /dashboard/board - List all the staff members account and their details in a table.
  • /dashboard/contact-messages - List 15 latest contact message notifications.

  • /dashboard/contact-messages/all - List all the contact message notifications.
  • /dashboard/contact-messages/{ID_of_the_contact_message} - Contact message.
  • /dashboard/department - Renders a form to edit the department information.

  • /dashboard/events - Index all the events in a table with all their necessary information.
  • /dashboard/event-create - Form to create a new event.
  • /dashboard/events/{name_of_the_event}/participants/ - List all the participants that registered for that particular event.
  • /dashboard/events/{ID_of_the_event}/edit - Form to edit an existing event.

  • /dashboard/internship-applications - List 15 latest internship application notifications.
  • /dashboard/internship-applications/all - List all internship applicatin notifications.
  • /dashboard/internship-applications/{ID_of_the_internship_application} - Internship application.

  • /dashboard/generate-key - Generate a key, which is used when a user tries to register as a staff member.
  • /dashboard/magazine-subscribers - List all the subscribers, who have subscribed to the magazine.

  • /dashboard/participants - List all the participants, who have recently registered for any event.
  • /dashboard/participants/{ID_of_the_participant} - List all the events that are registered by that particular participant.
  • /dashboard/profile - Index the profile edit form.

2. Front-End

  • Public Folder - Folder contains all the static files like CSS, JS scripts, and third party libraries files.
  • Views Folder - Folder that contains all the EJS files. It's divided into three sections
    • Home - EJS files for home routes
    • Auth - EJS files for authentication routes
    • Dashboard - EJS files for dashboard routes
    • Archive - Archived EJS files that are not used in the main branch

Note: Every above folder has a sub-folder named sections to organize different sections of pages.

3. Back-End

  • Controllers - All the core functionality in the form of functions
    • DashboardCont - Controller for dashboard functionality
    • DeptCont - Controller for department functionality
    • EventCont - Controller for event functionality
    • HomeCont - Controller for home functionality
    • StaffCont - Controller for staff authentication functionality
  • Middlewares - All the request-based functions. For validation of form data, authentication, and authorization.
    • Auth - Middleware for authentication and authorization
    • Validation - Middleware for validation of different forms data
  • Models - Mongoose used as the ODM for MongoDB.

4. Seeds

  • For testing purposes, seeds are used to seed the DB with staff, departments, events, and participants data.

5. APIs

  • Google Sheets API is used to store the information of the event participants and magazine subscribers.
  • Gmail API is used to send E-Mails.

Contributing

Contributions are what makes the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

MIT | Distributed under the MIT License. See LICENSE for more information.

Contact

Konark Lohat - @konarklohat - [email protected]

Project Link: GitHub Repository Link

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].