Giter Club home page Giter Club logo

fbla-coding-and-programming's Introduction

- ConnectEd -


|       Kyle Smith       |


ConnectEd



 DOWNLOAD .EXE



 GO TO DOCUMENTATION 



Documentation



ConnectEd About 📜

Whether someone in a school's Career and Technical Education Department is trying to store business information or someone wanting to store general data, ConnectEd allows the ability for users to store, navigate, modify, and integrate data into their work or personal projects.


  • This software application stores user's data on a secure network that can be easily retrieved by user's authentication in the form of a password and username. This allows the user to easily come back to the application and pick back up from where they left off without having to store any of this data on their local machine.



    ConnectEd Requirements 📑

    This software meets the requirements illustrated in the guidlines here: FBLA GUIDELINES

    • The software should be an executable/program for the user to use.
      • Software can be installed and used by an executable file.
    • The software should contain some form of adding, filtering, and modifying data that comes up to over 25.
      • Software contains an intuitive user-interface to add, filter, and modify data that exceeds the 25 count.
    • The software should allow a school's Career and Technical Education Department to use this program.
      • Software allows a school's Career and Technical Education Department or anyone to use this program for their purposes.
    • The software should store data that the user provides.
      • Software can either store data on its own server or the local machine of the user.
    • The software should have an intuitive user-interface.
      • Software has an incredible user-interface that a user can navigate easily.


    ConnectEd Inner Workings ⚙️

    This application is structured in two main parts. The first part is the communication between our application programming interface (API) and our MongoDB server. Whenever the API receives a username and password from the user, it sends a request to the MongoDB server, validates the response, and sends feedback to the user to either accept the user into the software application or deny them.


    Below is a snippet of the API's POST request to the server to validate the user's username, password, and authenticate their token for the session.


    userRouter.post("/login", async (req, res) => {
      const username = req.body.username;
    	const password = req.body.password;
    	const user = await userModel.findOne({
    		username
    	}, { _id: 0, __v: 0 });
    
    	if (user) {
    		const isValid = await bcrypt.compare(password, user.password);
    
    		if (isValid) {
    			const token = generateAccessToken(user.username);
    			res.status(200).json({
    				token,
    				user
    			});
    		} else {
    			res.status(400).json({ error: "Invalid Password" });
    		}
    	}
    });


    To Further demonstrate this point, below is a simple diagram showing this process:


    User Sends Request to API --> API Checks and Validates from MongoDB --> User is Either Granted or Denied Access



    ConnectEd Recognition ✨

    This application was made possible by the following open-source projects:

    1. Electron + Vite + React Framework
    2. MongoDB
    3. REST-API
    4. MUI X

    Electron framework is made by the electron-vite team and is licensed under the MIT License.
    MongoDB is made by Mongo Inc. and is licensed under the Server Side Public License.
    REST-API was made by SGEhren-dev and is not publically licensed.
    MUI X is a datagrid framework made by the Material UI SAS team and is licensed under the MIT License for community members.

    Electron.js NodeJS



    ConnectEd Future Developments ☑️

    • Allow User to Reset Password
    • Allow Email Verification
    • Allow Multiple CSV Files to be Uploaded Per User
    • Allow Setting for Dark/Light Modes
    • Allow Notifications for Multiple Device Sign-In



    fbla-coding-and-programming's People

    Contributors

    codeapretzel avatar

    Stargazers

     avatar

    Watchers

     avatar

    Recommend Projects

    • React photo React

      A declarative, efficient, and flexible JavaScript library for building user interfaces.

    • Vue.js photo Vue.js

      🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

    • Typescript photo Typescript

      TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

    • TensorFlow photo TensorFlow

      An Open Source Machine Learning Framework for Everyone

    • Django photo Django

      The Web framework for perfectionists with deadlines.

    • D3 photo D3

      Bring data to life with SVG, Canvas and HTML. 📊📈🎉

    Recommend Topics

    • javascript

      JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

    • web

      Some thing interesting about web. New door for the world.

    • server

      A server is a program made to process requests and deliver data to clients.

    • Machine learning

      Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

    • Game

      Some thing interesting about game, make everyone happy.

    Recommend Org

    • Facebook photo Facebook

      We are working to build community through open source technology. NB: members must have two-factor auth.

    • Microsoft photo Microsoft

      Open source projects and samples from Microsoft.

    • Google photo Google

      Google ❤️ Open Source for everyone.

    • D3 photo D3

      Data-Driven Documents codes.