- ConnectEd About 📜
- ConnectEd Requirements 📑
- ConnectEd Download 🔧
- ConnectEd Inner Workings ⚙️
- ConnectEd Recognition ✨
- ConnectEd Future Developments ☑️
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.
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.
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
This application was made possible by the following open-source projects:
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.
- 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