Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialLloyd Stevens
10,934 PointsWhat should I learn? - CRUD Web Application
Hi all,
I am developing a student assignment tracker CRUD web application for my Masters Degree Thesis Project.
Brief
In short: Students complete courses with a number of assignments that are based on a number of units. Each unit has a set of criteria that make up a Pass Merit or Distinction to then give an overall grade for the unit. The group of units together will convert to a number that then gives the student a relevant Pass Merit or Distinction overall. The system is relatively simple in that it will record student grades for each criteria with simple feedback and then calculate the corresponding overall unit grade and then course grade.
Learning path
I have been working on the Full Stack Javascript course for some time and having been coping well with the material. I am now however very conscious of time left (Sept 15 deadline) and really need to get developing as quickly as possible. I am at a point where I am very good with HTML / CSS. Comfortable with JS and JQuery. Have a decent understanding of Javascript OO although have yet to put this into a self developed project.
Progress
I have setup the front end in bootstrap already.
Initially my plan was to then finish learning about Node.JS, Express and Mongo DB but the time it would take to cover the rest of the full stack track would take me up to end of July, leaving me with only around 3 weeks full time development time, due to work commitments, which I don't think will be enough.
Prior Knowledge
I have used PHP and MySQL before (albeit 17 years ago) but it would require some further learning. I do have a good knowledge of DB design and procedural programming ( I am a computer science teacher at a secondary school). <i>See more detail at the bottom</i>
Advise Required
Can anyone advise if there are areas I should concentrate on? Should I continue on the JS Full stack track? Once I cover this would I be able to create an MVP quickly? Do I need to do the NPM/GULP lessons?
Should I move to a different route e.g. PHP / MySQL? Is there a project example I can use to get an MVP setup quickly through refactoring code perhaps? I am pretty good at using documentation and refactoring code and have a strong knowledge of Procedural Programming.
Whilst I would love to learn in depth at this point I just want to get the MVP done and out the way for the project so that I can then spend more time after September learning / refining this properly
Many thanks for your help
Lloyd
Knowledge
Excellent understanding of
- HTML
- CSS
- JQuery
- Bootstrap
I have a good knowledge of
- Vanilla Javascript
- Relational Database Design
- Procedural Programming
Some understanding of
- SQL
- OO Javascript
- PHP
- MySQL
Progress so far
- I have setup a basic front end using Bootstrap to speed up development.
3 Answers
Brendan Whiting
Front End Web Development Techdegree Graduate 84,738 PointsWould it be frowned upon to user a service like Firebase? It’s a great tool to get you set up with authentication, data storage, deploy your static files etc. It could be a huge time saver if you want to focus more on the front end experience. There are tutorials like this one on setting up CRUD operations in vanilla JS.
If you want or need to build your own full stack backend, you can honestly do it in many languages or frameworks. PHP/Laravel is going to work. Node/Express is going to work. There are minor trade-offs but for a CRUD app they're all fine. If time is of the essence, it’s probably good to pick one that you’re already a bit familiar with.
Lloyd Stevens
10,934 PointsOk, so I have found your workshops on firebase and I think this is the way forward, thank you so much. It will really help me in the short term!! Much appreciated :)
https://teamtreehouse.com/library/getting-started-with-firebase
Brendan Whiting
Front End Web Development Techdegree Graduate 84,738 PointsYes, I think it’s fairly easy.
A few other resources for Firebase:
Fireship: a good youtube channel on firebase (more geared towards angular, but also has vanilla js examples):
FYI, firebase uses a NoSQL, object based database system. For lots of use cases this is fine (I think for your case it's probably fine). You don’t have to have a strict schema and you can easily get up and running and change stuff. Firebase also is built on top of web sockets which allow the data on your frontend and backend to sync automatically. This can be handy, but it’s a different paradigm from the way data is fetch in other apps so that might be something to keep in mind.
If you want to go the route of building your own backend with node, you could follow the full stack track but some things in there are out of date or not necessary for your project. I'd go with these:
- Asynchronous Programming with JavaScript
- NPM Basics
- Express Basics
- Rest APIs with Express
- Asynchronous Code in Express
If you want to connect to a database I’d use Sequelize. There’s a course here, but it’s a bit out of date and might be better to just go by the docs
Lloyd Stevens
10,934 PointsAmazing, thanks for your help :)
Lloyd Stevens
10,934 PointsLloyd Stevens
10,934 PointsBrendan, thanks.
I will look into firebase. Would this allow me to setup the database and all the CRUD operations easily?
If not could you advise on a the key courses to follow in the JavaScript Full Stack track? I need to streamline so not sure I need to follow everything e.g. the node track has NPM and GULP
Thanks Lloyd