Skip to content

JustAPR/FlexiLearn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

FlexiLearn

An open-source Notes Sharing Platform for Educational Institutions

DESCRIPTION

Flexilearn is a web-based platform designed for educational institutions to streamline the sharing of PDF notes. It provides a structured organization of PDF notes based on subjects, units, and topics. Additionally, FlexiLearn offers task tracking features to monitor completed and incomplete tasks for better academic management.

Built with

  • Frontend: React
  • Backend: Node.js, Express
  • Database: MongoDB
  • Styling: Tailwind CSS
  • File Upload: Multer
  • File Rendering: iframe

Run Locally

Clone the project

  git clone https://github.com/your-username/FlexiLearn.git

Go to the project directory

  cd FlexiLearn

Install dependencies for frontend

  cd client
  npm install

Install dependencies for backend

  cd server
  npm install

Connect MongoDB

  mongoose.connect('YOUR_MONGODB_CONNECTION_URL')

Start the frontend server

  cd client
  npm run dev

Start the backend server

  cd server
  nodemon index.js

Features πŸš€

  • Student Side: Manage notes more efficiently based on subject unit categorisation πŸŽ‰
  • Admin Side: Because only admins can handle the sacred task of adding notes. πŸ‘‘
  • Admin Powers: Grant access to others to become admins. Beware of the power you wield! ⚑
  • Task Monitoring: Keep an eye on those pending tasks, mark them completed, feel accomplished. πŸ“βœ…

Structure πŸ—οΈ

  • Subjects ➑️ Units ➑️ Topics ➑️ Notes Because who needs a straightforward hierarchy?

User Profile πŸ‘€

  • Update your username and password. Forget them again. Repeat. ♻️

Challenges Faced (in a totally professional manner) πŸ€¦β€β™‚οΈ

  1. Spent a day figuring out an Axios error . Figured out that it was an proxy error and fixed it by adding full URL - http://localhost:5000/api/... because why not? It worked like a charm! πŸ˜…

  2. Fedora doesn't support mongosh, had to resort to MongoDB Atlas. Fedora, you let me down. 🐧

  3. IP address changes mean server stops. MongoDB only allows connected IPs. Cue the sudden existential crisis. 🌐

  4. Wrestling with nested objects in the subject model. Three layers deep, like an onion. Cried a little. 😒

Credits πŸ™Œ

Huge shoutout to ChatGPT! It wrote most of my code, even this README. Yeah, I'm practically an AI assistant myself. πŸ€–

Noob Chronicles πŸ€“

  • Still can't tell the difference between PUT and POST. It's like asking me to differentiate between a cat and a dog. πŸ˜…

  • Arrow functions? Async functions? Eh, who needs them? I'm a prompt engineer. I can make it work, even if I don't understand how. πŸ› οΈ

Contributing 🀝

Contributions are welcome! This might be one of the quirkiest projects you've ever seen . If you're a beginner, it's a golden opportunity to dive into the chaos and fix things! ✨

License πŸ“œ

This project is licensed under the [MIT LICENSE]. Remember, sharing code is cool, just like sharing notes! πŸš€βœ¨

License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages