EVA -> Entorno Virtual de Aprendizaje (Virtual Learning Environment)
A kind of LMS for my university, inspired by the university's current "EVA".
Although my university uses Moodle as LMS, I didn't care and wanted to reinvent the wheel, so here it is, a project for me to spend time on.
These are the technologies used to develop this project
Fastify is one of the fastest web servers for Node.js, and it's also very easy to use. It's also very lightweight, which is a good thing for a server that will be running 24/7.
NestJS is one of the best frameworks for Node.js for building scalable and maintainable backend applications. It's have a lot of features to make life easier and i like its DI system.
IDK, i just like it. It's very easy to use and strong typed.
Well, i select Nextjs since it's the most popular framework for React (it's used by Big companies like Netflix, Vercel, etc) for building fast, scalable and maintainable frontend applications. TailwindCSS is a utility-first CSS framework for rapidly building custom designs and i dont select bootstrap since i dont like write a lot of CSS for simple comoponents.
- Docker
- Node.js
- Clone the repository
- Install dependencies
npm install
- Install docker containers
docker-compose up -d
- Push changes to database
npx prisma migrate dev --name init
- Run the backend
npx moon run server:dev
- Run the frontend (in another terminal)
npx moon run client:dev
and you're done! The frontend will be running on http://localhost:3000 and the backend on http://localhost:3001
- Add a notification system (for example, when a new assignment is published)
- Maybe add a chat system
- Unit testing for the backend (I'm thinking how to do it)
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.