Skip to content

Latest commit

 

History

History
150 lines (100 loc) · 7.49 KB

README.md

File metadata and controls

150 lines (100 loc) · 7.49 KB

EventManagement Full Stack Project

Problem Statement

In college environments, organizing events and connecting with like-minded individuals can be challenging. Traditional event management systems often lead to WhatsApp spamming for event promotions and long queues during ticket distribution, disrupting the seamless organization and participation experience. To address these issues, we developed EveSpark.

EveSpark provides a centralized platform for students to discover, engage with, and participate in events tailored to their interests and preferences. By streamlining event management processes and enhancing communication channels, EveSpark empowers students to forge meaningful connections, fostering a vibrant community where ideas flourish and collaborations thrive.

Tech Stack

Backend

  • Node.js: Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine, allowing us to run JavaScript on the server-side. It provides an event-driven, non-blocking I/O model that makes it lightweight and efficient.
  • Express.js: Express.js is a web application framework for Node.js, designed for building web applications and APIs. It provides a robust set of features for web and mobile applications, including routing, middleware support, and template engines.
  • MySQL: MySQL is a widely-used relational database management system (RDBMS) known for its reliability, scalability, and performance. It provides a comprehensive set of tools for managing databases and executing complex queries.

Frontend

  • React.js: React.js is a JavaScript library for building user interfaces, developed by Facebook. It allows us to create reusable UI components and build complex UIs with a declarative approach. React.js promotes efficiency and scalability in frontend development.

Database

  • MySQL with Sequelize (ORM): Sequelize is an Object-Relational Mapping (ORM) library for Node.js, designed to work with relational databases like MySQL. It simplifies database interactions by mapping database objects to JavaScript objects, providing a seamless interface for database operations.

Authentication

  • In-house Authentication System: We implemented a custom authentication system for streamlined user authentication and authorization processes. This system ensures secure access to the application's features and data.

API Design

  • RESTful API: We designed a RESTful API to facilitate seamless communication between the frontend and backend systems. This API follows the principles of Representational State Transfer (REST), allowing for standardized and efficient data exchange.

Additional Technologies

  • Flask and CORS: We used Flask, a micro web framework for Python, for additional backend functionality. CORS (Cross-Origin Resource Sharing) is a mechanism that allows restricted resources on a web page to be requested from another domain outside the domain from which the first resource was served.

Demo and Screenshots

1

2

4

7

5

3

6

Getting Started with Create React App

This project was bootstrapped with Create React App.

Available Scripts

In the project directory, you can run:

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.

The page will reload when you make changes.
You may also see any lint errors in the console.

npm test

Launches the test runner in the interactive watch mode.
See the section about running tests for more information.

npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about deployment for more information.

npm run eject

Note: this is a one-way operation. Once you eject, you can't go back!

If you aren't satisfied with the build tool and configuration choices, you can eject at any time. This command will remove the single build dependency from your project.

Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own.

You don't have to ever use eject. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it.

Learn More

You can learn more in the Create React App documentation.

To learn React, check out the React documentation.

Code Splitting

This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting

Analyzing the Bundle Size

This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size

Making a Progressive Web App

This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app

Advanced Configuration

This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration

Deployment

This section has moved here: https://facebook.github.io/create-react-app/docs/deployment

npm run build fails to minify

This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify