This week we’ll continue writing tests for the server, and then developing to make the server pass these tests. I still want to find out what other kind of tests we should include.
I also expect to start working in the android App, we’ll create a few mockups for the app. And from there maybe give it some basic navigation functionality, I don’t know at this point, it all depends in how we advance in the Mobile development class.
This week I worked in setting up the api server. As today (january 20) we have the server up and running with signup and login methods, hashing the passwords. We have mocha tests passing. We wrote the code first and then I started searching for the test framework, but from now on we will start doing test driven development. We will define all the routes we want, what they should they do and how do we expect them to behave (errors, validations, status codes, etc.).
We decided to change the project, instead of a note app we will be an app to split restaurant and similar stuff charges.
This week we will be polishing the idea (defining the specifics) and will create the mockups, but the technologies will remain the same (nodejs + express + react) and Android native, we are also thinking about using Stripe to handle payments (that’s still in discution).
As for me, this week I’ll setup the backend project, because before starting to work in the app we need first to define the UI, etc.
Hold up just a second. Before doing anything at all, let’s think about where and how are we going to develop the project.
Let’s select a workspace and a framework before we developt anything.
We firstly need a GitHub repo and implement good practices of version control.
EDIT: The repo is up now!
Arturo did suggest p5.js. A library that has quite some functions for 2D graphics, including physics, liquids and particles. So I guess I will start practicing and getting to know p5.js. I want to play with physics!!!
Miguel Angel Montoya Zaragoza
Wow wow wow it’s here. First week. We have some things to do in this space of time. Let’s get to it. On the menu, as an aperitive I’ll be looking at frameworks for browser-based game development that hopefully include sprite rendering and a bit of physics, for the main dish, a smoked unit testing module for NodeJS with garlic.
As of now, I’m thinking of the following technologies and will be trying them out—will post more about that at the end of the week.
Unit Testing in NodeJS
I don’t really have any candidate for this aspect . . . by the end of the week I aim at having one. Looking for some mock HTTP Requests and Unit testing for the p5.play library, mock some collisions for the 2D Physics, this last one I could develop from scratch with a simple assert—I think NodeJS had an Assert method.
Anyway . . .
That’s what this week will be all about, catch you later.
I have a course team! And a brand new project that will defeat all previous projects!
What is this new project’s name, you ask?
It’s not raining
The names might be just a working title, it was kind of a joke
And, like in the photo above, our project will not have not a single drop of rain.
What it will have is a fun browser-based game that will not use any kind of plug-in because if Adobe and Oracle don’t even care for the support for their products, why should we? (Well, in fact, even if they did, we wouldn’t use them. Nobody uses them now. Nobody wants to).
The game will, basically, be a platformer with timer and a number of obstacles and maybe enemies. The score will be stored in an online leaderboard. We talked about maybe doing some drag-n-drop technology so we could let the players design their levels, and then compete with their friends and stuff. They could even download a level to text translation and share it with their friends.
My partners for the development for this new project are:
Our project for the semester will be a note keeper app, this app will keep track of the notes you’ve writen as well as its classification and share these notes with other users.
Our note app will have the advantage that you will be able to take a photo from some text and it will extract the text from the image and put it in a note (The image will need to be clear and also be text in its most part). Imagine that a professor wrote something important in the board and then, instead of writing it down by yourself you can take a picture of the board and then have it automatially converted in a note, now you are able to share it with others.
This app will be developed by Francisco, Marco, Estefy and me.
We will be developing in native Android, and will (provably) use the Android OpenCV library and tesseract to perform the text extraction, we will create a nodejs server to share the notes. We’ll test our app following the recomendation of the android developers website.
This is the working title for our project which will be a browser-based game with online leaderboards. The game will be a platformer with a timer, obstacles (traps), enemies that aren’t that OK with you blowing past their obstacles and have taken to arms against the player’s life. The enemies (possibly of the flora variety) just want to bring rain back to their land to prosper, but the player (possibly a little flame) doesn’t care that much for rain.
My team for the development of this course’s project will be: Miguel Montoya, Gerardo Juárez, Andrés Barro, and Arturo Fornés—that’s me.
TC3045, or Calidad y Pruebas de Software (Software Quality and Testing) makes me think about how testing can lead to quality software and that with great power comes great responsibility; power being software skills, and responsibility refers to, hehe, responsibility . . . to the client and to delivering a quality product. Ken—the teacher of said course—says we’ll be focusing on a project, so I’m betting we’ll be applying TDD (Test Driven Development) to this project. We’ll also be blogging the planning process and progress of development; here I’m hoping we can provide some quality assurance and put in practice some concepts I learned in my Software Project Management courses such as risk assessment.
Will #AbolishGrades work for this course?
I just hope we don’t end up with some team infighting and actually get something done, but anyway, that’s the struggle of every class with a project. But here in Ken’s courses working a project with the endless feedback loop that’s bound to happen with #AbolishGrades Croom style will be great for meeting requirements and delivering a quality product.
In regards to blogging, I think it fits software development as documentation and as a progress tracking tool. I personally don’t mind writing, just sometimes have to get over a mental block to start.
Anyway . . .
. . . here’s to a great semester and, for me, an Empire Strikes Back quality sequel to #AbolishGrades. Wait, it’s my third course . . . oh no, here come the Ewoks.
– Arturo Fornés, the guy from the soon to be updated About page.