In the last year and a half I finally took a web development job full time. In that time I have learned a lot of new technologies like Webpack, VueJS, D3 etc. I am now turning around and seeing that I can improve NearBeach tenfold by applying what I have learned.
The majority of the issues left with NearBeach revolve around the UI/UX, and code base that I can improve. For example I can structure NearBeach a lot better – so the code flows a lot nicer and it becomes easier to program for.
Here are good examples of this are;
view.py file currently sits at being 10711 lines long. Finding sections within that code takes time.
Some forms are overly complex, i.e. the quote line items, and are becoming harder to fix any bugs or issues associated with them. Without the server time taking too long to render the form.
Code is being repeated over multiple spots – for example the following code project_results = project.objects.filter(…
No structure for the JS/CSS files
The general fixes for these would be;
Split the view file into separate files for each modules. This will make each file smaller and easier to find the class you need
Move a lot of the complexity out of the back-end and place it into front-end. VueJS is a powerful library that can easily deal with complicated forms
Move these repeated codes into their own python file, with their own functions
As I am not releasing any new functionality – I am planning on implementing these changes during beta.
One major issue NearBeach faced when we started getting users to test, was the simple fact that users HATED the UI/UX. I can not blame them, as I am not good at expressing visually. Design has been my weakest skill by far in web development. It has been something I have not given up on though – and in the last year I have learned a lot.
I have decided that NearBeach will require a massive refactoring, both the UI/UX and the backend code. This will hopefully lead to a cleaner code base, and a streamline UI/UX.
I have a lot of plans for NearBeach. Many modules in my head that I want to implement into NearBeach. So why am I wrapping up to release a stable version? Simple – I had to draw a line in the sand somewhere. This is the best place to start – I can’t be stuck in a development cycle forever without a release.
What is coming up – how many version for the 0.26 branch? There are currently 2 planned 0.26 releases looking at fixing bugs and issues. After the next release I will be doing a system wide test of NearBeach – from there I will determine if we need any more releases.
What will happen after release? NearBeach 1.0 will be a long term support (LTS) version. How long we will support it will need to be discussed and planned. This is our very first LTS stable version of NearBeach. NearBeach will also have a secondary branch that will be for new development – once again, we are still in planning how this will work and we will have more information soon.
NearBeach started out as a learning project for myself. I had programming knowledge gained from my years of knowing C/C++, SQL, and other languages. A friend mentioned moving one of my prior ticketing systems from C++ to a web based application. NearBeach became that application.
As I learned more and more about web programming, NearBeach gained more and more modules, and essentially evolved into what it is today.
There is nothing wrong with this approach, however it does have a few shortcomings. One of those shortcomings is that I have learned a lot more effective ways to program for web development.
The next major release of NearBeach (lets call it 2.0 for now), will focus on the following;
Refactoring code, making it easier to read, quicker to implement new functionality, more efficient, have a defined structure.
Design update – NearBeach looks very bootstrap, and the reason is it is. I am not the best designer out there, however I have hit the books and youtube to try and improve my front end skills.
More modules – I will always be either adding or refining existing modules within NearBeach. If you require any extra features, why don’t you hit us up on our forums – https://help.nearbeach.org
Before we start any of these tasks, we want to create a stable code base. One with as few bugs in it as possible.
Bug fixes, more bug fixes and some more bug fixes. It is currently very important for us to fix all current issues with NearBeach.
The new version of NearBeach can be installed using PIP
BUG563 – Instructions need to have “Group Leader” in them
BUG593 – Read only user in chrome has weird layout for “Run Sheet”
BUG621 – Table overflow needs scroll in administration group
BUG624 – Password Reset needs new layout
BUG626 – User settings – alert not in alert mode
BUG634 – Can not apply bugs to project
BUG637 – Organisation search is not character case insensative
BUG647 – New project under assign task
BUG648 – Adding a whiteboard to customer gives permission denied when accessing
BUG649 – Group projects dashboard shows closed projects
BUG651 – Read only user – can create kanban board
BUG655 – Linked objects in requirements showing requirement items
Short term future goals
We will do another bug finding and fixing run to try and get NearBeach as stable as possible before releasing into the wild as a stable product. We are currently looking for feedback, and are planning what to do in the future about developing new functionality.
We at NearBeach are proud that we have finally achieved Beta stage. NearBeach is now starting to be more than just a simple minimal viable product. We have started to use it internally to help improve and shape it.
Short Term Goals
NearBeach has a few short term goals it would like to achieve. These are, but not limited to;
Releasing documentation on readthedocs.io
Releasing “How to” videos
More testing and bug fixes – there will always be buggs
Planning new features
Documenting how the development cycle will work in the future
Business planning – where do we want to take NearBeach
Construction of a community
Discuss improvements and remove pain points in the NearBeach software
There is still a lot of work to achieve during this time. We are hoping that we can help you with your next project.
Regards NearBeach Team
BUG576 – Inside My tasks display which project that task belongs to
BUG604 – Task -> customer list not showing
BUG608 – Submitted RFC’s risk levels shows ID
BUG609 – New RFC – select groups not rendering correctly
BUG612 – Assign Groups in “New Kanban” not rendering correctly
BUG613 – Adding assigned group does not update assigned users
BUG614 – Can not close Kanban boards
BUG622 – Does “organisation_connection” need to be kept?
BUG623 – Does “project_stage” get utilised?
BUG625 – Can not change password
BUG627 – Button missing – from existing projects
BUG629 – Not saving time correctly
BUG630 – Tags do not have the cross – can not delete
BUG635 – NearBeach’s title is still in Alpha -> should be in Beta 🙂
BUG638 – Can not resolve task
BUG639 – Non super user super user does not have ability to add tag
BUG640 – Documents are not uploading on existing projects
BUG642 – Do we need opportunity connection
BUG643 – Document – URL links require name
BUG644 – Can not add a whiteboard to customer’s documentation
BUG645 – Quotes have the incorrect products
BUG646 – TypeError at /assigned_opportunity_connection_add/1/customer/
BUG652 – Non super user can not link requirement to kanban board