Trending Feed

I want to make a classroom kind of Flutter app in which there will be a teacher student login register feature and teachers have various classes and so do students who have various classes to take. Teachers can take attendance daily and save it in a database for each date (give some task later feature) and students can view the days they attended and the teacher can delete the class, add the class having the class ID. Students can enroll and unroll through the class ID.

I am new to backend development what will be the best Backend to implement the above idea and what Techstack is more advisable and which DB is preferred? Pls help

READ MORE
Sign Up | LinkedIn (linkedin.com)
8 upvotes·1.1K views
Replies (3)
Full Stack JS Developer ·

Hi Vaibhav, any backend tool can help you achieve what you are looking for your project. As you are a student and will be looking for jobs once you complete your degree, I recommend to develop your project using Nodejs(ExpressJs) for backend and MongoDB for the database. This stack is quite hot now-a-days and showcasing this project developed in this Stack will help you achieve the confidence of your employer during interviews. Wish you all the best!

READ MORE
6 upvotes·1 comment·982 views
Vaibhav Gupta
Vaibhav Gupta
·
December 2nd 2021 at 3:45AM

Sir,

Thanks for the advice.

I request you to lend me your time.

I want a general overview of the backend and my doubts regarding it.

How can I contact over a you Pls let me know if you are okay.

·
Reply

I would recommend using NestJS if would like to use a Type Strong framework for setting up your endpoints and use TypeScript for this. But ExpressJS can also do the job just fine and it does support TypeScript as well. MongoDB is a fine choice for a database as well, as it does not pose much of a hassle to setup.

READ MORE
3 upvotes·101 views
View all (3)

I don't think I have registered a domain in the last 10 years that hasn't been linked to CloudFlare within the first 2 hours from registration.

The benefits you get from even the free version of CloudFlare are amazing. From day 0: - 30/80% of bandwidth savings thanks to their CDN - Origin IP address protection - Managed SSL

READ MORE
5 upvotes·1.7K views

We are loving react as it has helped us significantly increase our feature production speed (to make founders' life a little easier by helping them build powerful and effective funding decks that actually raise money quickly.)

Before using react, we were explicitly redeveloping a lot of components which were already existing in react, although we didn't had enough bandwidth to shift our whole app to react, we went in slowly block by block but now we are there, and we are really happy with react.

So we really suggest our fellow developers to take the leap if you are in a similar situation.

READ MORE
5 upvotes·2.1K views
DevOps at Synetech·

We decide to choose Gitlab as prefered Project management, code hosting and CI/CD tool because IT best fit our agency needs. We love their integrations with open source tools around the dev wold. Gitlab is all in one solution but you must be on the same boat about how project development should look like. Gitlab is a lot les customizable than Azure Devops.

READ MORE
3 upvotes·185 views
Engineering manager at bol.com·

With the growth of our engineering community, the need for more focus on engineering productivity is clear. We invited two experts to discuss this topic with us. We chose Backstage. Backstage is a platform for developer portals that is used as an app store for tools for software engineers. This product was built inside Spotify and later on open-sourced by them.

READ MORE
Something went wrong. (open.spotify.com)
3 upvotes·1.6K views
Growth Product Manager at Brainboard·

We decided to create a custom dashboard with Metabase as it can pull any data, push data onto a visualized and comprehensible graph and pushed it to all our team to monitor. The best decision we made till now :) Plausible is still used as Google Analytics alternatives because of its UX/UI. HubSpot is a great tool for sales & marketing raw data but true analysis is done on Metabase.

READ MORE
2 upvotes·1.8K views
Needs advice
on
RedisRedisRabbitMQRabbitMQ
and
KafkaKafka

We are currently moving to a microservice architecture and are debating about the different options there are to handle communication between services. We are currently considering Kafka, Redis or RabbitMQ as a message broker. As RabbitMQ is a little bit older, we thought that it may be outdated. Is that true? Can RabbitMQ hold up to more modern tools like Redis and Kafka?

READ MORE
4 upvotes·1.2K views
Replies (3)
Back End Developer at instabox·
Recommends
RabbitMQ
Kafka

We have faced the same question some time ago. Before I begin, DO NOT use Redis as a message broker. It is fast and easy to set up in the beginning but it does not scale. It is not made to be reliable in scale and that is mentioned in the official docs. This analysis of our problems with Redis may help you.

We have used Kafka and RabbitMQ both in scale. We concluded that RabbitMQ is a really good general purpose message broker (for our case) and Kafka is really fast but limited in features. That’s the trade off that we understood from using it. In-fact I blogged about the trade offs between Kafka and RabbitMQ to document it. I hope it helps you in choosing the best pub-sub layer for your use case.

READ MORE
Tag: message-queue (tarunbatra.com)
4 upvotes·107 views

It depends on your requirements like number of messages to be processed per second, real time messages vs delayed, number of servers available for your cluster, whether you need streaming, etc.. Kafka works for most use cases. Not related to answer but would like to add no matter whatever broker you chose, for connecting to the broker always go for the library provided by the broker rather than Spring kafka or Spring AMQP. If you use Spring, then you will be stuck with specific Spring versions. In case you find bugs in spring then difficult because you will have to upgrade entire application to use a later Spring core version. In general, use as minimum libraries as possible to get rid of nuisance of upgrading them when they are outdated or bugs are found with them.

READ MORE
4 upvotes·2 comments·1.1K views
kaffarell
kaffarell
·
December 1st 2021 at 12:16PM

Thanks for the insight! A fast message broker would be important, persistency isn't. We also plan to deploy the message broker as a docker container to our cluster. I read somewhere online that kafka is not meant to be deployed as a container... Is that true? (What also confused me is that there isn't a official docker image for kafka).

·
Reply
Makarand Joshi
Makarand Joshi
·
December 2nd 2021 at 11:03AM

Radis is bit different compared to Rabbit MQand Kafka so use Redis only if its for non critical message flow. Between Rabbit MQ and Kafka , our experience as been for large message processing application Rabbit becomes really unstable and even have encountered corrupt data so we switched to Kafka which is more reliable

·
Reply
View all (3)
Developer & Founder at Repoflow·

I want to recommend Docusaurus to document your projects, my documentation was previously on simple HTML pages and I wanted to bring a better experience and look and feel. I check multiple options and I think that the best is: Docusaurus If you use React for your project you can reuse components or create custom components to use along simple markdown The local development is great and the deployment process is very easy! (just copy the build folder to S3 for example) Check the result documentation on the link!

READ MORE
BucketWS | BucketWS (bucket.listws.com)
7 upvotes·3.3K views

We selected Stripe for our payment processor because of its well-renowned API and high quality documentation. Stripe's flexible subscription functionality enabled us to configure and automate the exact billing behavior we needed.

Stripe provides turn-key checkout and billing management dashboards which require only a simple redirect to integrate with. This allow us to provide our users with a high-quality user interface for managing subscriptions while saving us significant development time.

READ MORE
10 upvotes·3K views
Needs advice
on
Spring BootSpring Boot
and
DjangoDjango

I have 1 year of experience as a Django developer but my main role is as a frontend developer and my current company is not using Django they are using Spring Boot and I also want to do backend work.

my perception is spring boot developers get paid much higher than Django and can be there in the market for a long time.

Please give me valuable comments and guidance.

READ MORE
6 upvotes·4.3K views
Replies (3)
Recommends
Spring Boot

Globally, Spring Boot is more demanded than Django. For example, there are about ten times more open positions for Spring Boot than for Django in Brussels. So this naturally drives up the price of developers mastering Spring Boot. If you have an opportunity to work with Spring Boot, I suggest you take it, as it is a sound career decision. Furthermore, your experience with Django will help you to master Spring Boot, as both frameworks share many concepts. That said, Django positions do also exist, and it's absolutely not a bad decision to become an expert with that framework either. Django developers seem to like it very much.

READ MORE
11 upvotes·3.7K views
Senior Software Engineer at Cisco·
Recommends
Django

My mantra is not sticking to a particular technology. That is what I'd suggest. Going by that, I recommend you learn both, Django and Spring Boot. But if you want to choose one among the two, I'd say stick with Django. Saves you the effort of learning a new language and a new framework. Rather, you can spend that time honing your Django skills. It is a wrong notion among young graduates that organizations decide pay based on your technology stack. You just need to be good at a technology that is in demand. You'd be paid well no matter the technology. Django is a wonderful framework and there are tons of companies looking for Django experts. The same can be said about Spring Boot. Both are wonderful technologies in their own accord. As for you, just go with the technology you are already familiar with. It is a misconception that Spring Boot developers get paid better than Django developers.

READ MORE
10 upvotes·1 comment·3.7K views
rizwansaeedshaikh
rizwansaeedshaikh
·
November 29th 2021 at 11:50AM

Well said

·
Reply
View all (3)
Founder at EducastNetwork·

Our company needs an app up and running quick. Learning React/Javascript would be the standard but we decided to go with something that would work on as many platforms as possible. It would not only save us time but IT time in the backend. Thankfully, Google-backed Flutter was an amazing choice, and it's completely open source, unlike some alternatives you're able to use.

READ MORE
11 upvotes·18.2K views
Curriculum Developer ·
Needs advice
on
PythonPythonJavaScriptJavaScript
and
JavaJava

Generally speaking, what are the most important things you expect a junior developer to know and be able to do from day 1 in your respective tech stack? Firm grasp of OOP? SQL? MVC? ORM? Algorithms and Datastructures? Understanding CRUD & the request response cycle? Database design? framework familiarity? Postman? Deployment? TDD? Git? Language-specific knowledge? Other things?

READ MORE
17 upvotes·11.2K views
Replies (3)
Head of Engineering - AIOps at Microsoft·

Start with building a solid understanding of computer science fundamentals. Understand the basics of building blocks - memory, processing, storage, networking. Understand what CPU bound, memory bound, I/O bound, network bound processes are. Understand the cost of accessing data from Memory vs. Disk vs Network. Understand how multiple CPU threads help in optimizing the performance of a single machine.

Build expertise on a programming language. You may pick any language of your choice. I would recommend starting with Java / Python. Make sure you know one language really well. Build a strong understanding of Data Structures and Algorithms. You should be able to develop an intuition on when to use what. You may practice DS and Algorithm problems, using the language of your choice, on a competitive coding platform (e.g. Leetcode) or by building your own App!

Next, get familiar with basic cloud computing and distributed system concepts. Here is a good resource for that - https://www.youtube.com/watch?v=p7NkTUyEE1o&ab_channel=JeffreyRichter If you understand the computer science fundamentals well, you will be able to apply those concepts here as well.

Hope it helps!

READ MORE
4 upvotes·3.5K views

Ability to read code and willingness to try to reason flow of operations and information. Tools and technologies change, one doesn't need to have them in toolbelt from day one. All things you name are relevant in some contexts, so it's not bad to understand them.

READ MORE
3 upvotes·3.6K views
View all (3)
Software Enginieer at Shelf·

Compared to MongoDB it offers predictable performance, infinite scalability, outstanding stability, and tiny cost.

When using MongoDB at scale, you encounter all sorts of issues that are not advertised in MongoDB promotional materials. You get limited by the number of connections, not compatible drivers, and unexpected bugs in new releases.

With MongoDB, it's easy to get started quickly because it doesn't require you to think about data structure in the beginning. When you hit a certain scale you either spend months reengineering your DB or paying loads of cash to scale your cluster.

On the other hand, DynamoDB is much limited in its querying API, but that's a good thing. It's very hard to build a not scalable or low-performance database with DynamoDB. Also, you get all the perks of native integration into other AWS services.

READ MORE
7 upvotes·18.7K views
Tech Lead at Orbital Witness·

A few months ago, we decided to migrate our web apps from Create React App to Next.js for its "batteries-included" approach as well as its advanced server-side rendering capabilities. This move allowed us to focus our development efforts on building what matters to us the most: automating property due diligence.

READ MORE
6 upvotes·1 comment·16.9K views
kaffarell
kaffarell
·
November 28th 2021 at 4:47PM

Interesting, so you have used create-react-app in production? Have you had any problems/issues?

·
Reply
Data Engineer at Clarity AI·

We decided to use python as our main language due to the fact that it is a mature language, easy to learn and develop and has powerful data ecosystem libraries such as pandas, dask and pyarrow. It is also used in airflow so it allows us to enrich our use of airflow with custom code to suit our needs. Finally, it is also the language that the Data Science team of our company use, so it lets us contribute to each other's libraries and have common libraries. Even though Python is our main language we do not rule out adding new ones in the future.

READ MORE
17 upvotes·20.6K views
Associate Java Developer at txtsol·

I am working on a full-stack application [Spring Boot (Java), AngularJS 7, MySQL] and Apache Maven as a build tool => I need to deploy and host this web app on AWS. I searched about it and find out I have to use PAAS. There are 2 things. 1- AWS Elastic Beanstalk 2- Amazon EC2 my question is that what services should I use to deploy and host my web app.

READ MORE
7 upvotes·5.8K views
Replies (3)
Principal Software Engineer at Accurate Background·
Recommends
Heroku

Technically, these and many others would work. In fact, Elastic Beanstalk uses EC2. EC2 is just the service that provisions the machines where code can run. Elastic Beanstalk is basically a layer on top of that, that hides some of the EC2 complexities.

But complexity is a key thing to consider here. There is a lot of configuration that goes into setting up a deploy environment that is secure and stable. Unless you're an infrastructure expert, I would leave a direct EC2 setup alone.

If you, as a developer, have to set up a deployed app with no infrastructure team to support you, I would opt for something that does the most abstracting away of the complexities: So either Elastic Beanstalk or something like Heroku. I personally use Heroku for my personal projects, because of its ease of use.

READ MORE
5 upvotes·2.9K views
DevOps | Senior Developer ·

Here is my recommendation...and I do this sort of thing all the time.

Create a VPC with public and private networks. Launch a t3.small instance with Amazon Linux and install Jenkins in your public subnet of the network. Make sure all your Java dependencies are there...which they should be. If not, install them.

Create your Elastic Beanstalk application with Spring Boot, Java and Maven...which should be the Corretto 11 running on 64bit Amazon Linux 2/3.2.8 (as of today). You will need to have a file named Procfile in the root of your project. This will initiate your app start up. It should contain something like:

web: java -Dserver.port=8084 -jar build/libs/myapp-*.jar (relative to the root of the project)

In Jenkins you will make a project for building your Java application. In the project, you simply add the instructions in a shell script exactly like you would do it from the linux command line. You can also find Maven plugins. It's up to you and you can figure out how best to do that.

Your EB App and Environment should deploy the load balancer in the public subnet. Your Java application should deploy in the private network. These are all part of the EB configuration. You will need to create a security group that allows port access from your load balancer to your application. Also, you should create a certificate in Certificate Manager for your domain, which should be setup in Route53. In EB, you can then configure your load balancer to always use that cert.

Your Angular application should be built in its own project on Jenkins. Then you should deploy it to S3 with Cloudfront as CDN in front of the S3 bucket. After each deployment, you should sync to S3 deleting all previous contents of the bucket. You also need to invalidate the cache for your Cloudfront distribution. This ensures your application is fresh and has all your updates and changes each deployment. You should apply your DNS routing to your Cloudfront distribution as well via Route53. There's documentation on doing all this.

To allow Jenkins to deploy to Elastic Beanstalk as well as S3 (and also perform Cloudfront invalidations on publish), simple create a Role in IAM that allows the permissions to the services you need. Once you have that Role, you should apply it to your EC2 instance that is running Jenkins.

Finally, your MySQL database should be in RDS. If production, use Multi-AZ, otherwise just launch what you need. Your DB should also be launched in your private subnet. You will need to create another security group for the DB as well. The DB security group should allow access from your application security group to your DB security group on port 3306 or whatever port you run on.

In Jenkins you will need to install any plugins you need for your git repository (bibucket, github, etc). In your repository settings, enable a webhook to your Jenkins server in the settings. The URL should be something like https://build.mysite.com/bitbucket-hook/. Your projects should be separate for the Java app, build, and deploy. Similarly, your Angular app, build, and deploy. Each project should be in a separate repo with its own webhook. Separating your app, from your DB, and your frontend is best practice. It allows you to have room to scale each component independently and also decouples everything...API first concept. It also forces best practice security setup...Zero Trust concept.

So there are some specific suggestions. The nuts and bolts though are: MySQL in RDS. Java on Elastic Beanstalk, and your Angular application in S3 with a Cloudfront Distribution in front. Use Certificate Manager for your SSL and Route 53 for all your DNS. Figure all that out and you will have an industry stand stack that is ready for performance and scale.

It's true what others have said. Elastic Beanstalk is simply EC2, Application Load Balancer, Security Groups and a few other AWS services. You will see all your instances, security groups, load balancers, etc...where you'd expect them to be. However it makes it all turnkey...Cloudwatch, redundancy, scaling, deployment strategy, and subnet placement. EB has some idiosyncrasies, but building what it does on your own is much more work. If you want to get deeper into customizing your instances and web servers...research .ebextensions and .platform which you can drop in your project source and it will launch your stacks EXACTLY like you want them. Hopefully your setup is straightforward though and you won't need much of that.

Good luck!

READ MORE
4 upvotes·2.5K views
View all (3)
Lead Application Architect at TekPartners·

I used (tried to use) PayPal on one project and it was a total nightmare. At the time there was no cohesive "one" web-based product, you had to choose between three and the lines between them were very muddled. We reached out to developer support several times and they were no help at all. The documentation was old (incorrect) and confusing. Granted this was several years ago, but the pain remains. Given a choice of using PayPal and sticking hot needles in my eyes, I would first ask "How big and hot are these needles we're talking about?" Stripe is SO much easier!

READ MORE
9 upvotes·18K views
Chose
Next.jsNext.js

I started development of a new system and have a long time experience using a "Javascript all over the place" approach :-) I have been applying React and Node.JS for a number of projects and have been happy with the end result. This time I wanted to try Next.js. I want our developers to be knowledgeable of all parts of the application and I like how natural it is to combine frontend and backend in the same codebase.

So far, so good :-)

READ MORE
6 upvotes·17.2K views
Migrated
from
BootstrapBootstrap
to
VuetifyVuetify
in

I don't know about Bootstrap v5, but Bootstrap v3 and v4 was a nightmare when it comes to RTL. I switched to Vuetify in its early days when their RTL support is not very mature. But given that they care about RTL and have it in their roadmap and considerations, the change proved fruitful after their RTL support matured enough over time (and github issues).

READ MORE
4 upvotes·28.7K views
Founder at Stardust·
Needs advice
on
SwiftSwift
and
RustRust

Hey there, we are looking to develop our own layer 1 blockchain. We're splitting the responsibilities for origination, clearing, and settlement across three independent but cooperating node networks. We've gotten our Proof of Concept up using Ruby on Rails for the nodes, you can see it as the attached link. So far, so good. Now we are looking to convert it into a distributable and are trying to figure out which language is the best for this.

Essentially our needs from the language are: solid networking tools and speed, very fast execution of basic actions, some parallel execution, and able to compile the end product into an easy to distribute and use package for end users.

I was learning Rust, but I have a healthy amount of experience with Swift and right now, it's only me coding. I've only done iOS coding, but have built a fintech app from scratch that's now in the app store so I'm pretty familiar with the language and its benefits. Haven't experimented with Vapor or any of the application development tools, and I wanted to know if it is a crazy idea to develop a blockchain node in Swift instead.

READ MORE
Stardust Block Chain Explorer (explorer.stardust.finance)
8 upvotes·21K views
Replies (2)
Recommends
Rust

Pick Rust. Rust can provide all what you need and has been a major language in blockchain/cryptocurrency industry. Swift is slower than Rust and does not have such support in the networking and domain field. Swift tooling is great only on macOS, therefore you are likely to have troubles on other platforms.

READ MORE
5 upvotes·18.8K views
Director at Realityworks·
Recommends
Swift
Go
C++

You can use swift of course. It’s more of a question of being performant.

You really want to try some basic operations and find what’s most performant for you.

Rust is wonderful for cloud applications requiring heavy concurrency, it has compile time checking for such things.

Go and C++ could be more performant in your case. Swift is really quite an obtuse language, with a lot of features, some which may complicate your implementation.

Also, you want to consider the market of developers who could help build it. If you use Go or C++ there is a larger collection of people who know the languages than there is with swift.

READ MORE
5 upvotes·20.4K views
Engineering Team Lead at DCMN GmbH·

Github Actions allowed us to drop previous CI/CD technologies like Jenkins or AWS CodeBuild. The main advantages for us are: - The Infrastructure-as-Code approach of Github Actions enables us to keep CI/CD configurations next to the code. - Github as a single platform for repositories and CI/CD simplifies our stack and effort to manage it on the daily basis.

TVcloud Team <3 Github Actions

READ MORE
6 upvotes·28.7K views
Co-Founder & CTO at kickstartDS·

Sass is the CSS extension language of our choice for the additional constructs it offers when creating modularized and DRY styles for components in a Design System.

Key feature for us would be the support for nested declarations. Being able to write composable styles in a concise manner enables the creation of maintainable Design Systems, even if the number of components begins to scale up. In combination with BEM as a convention, it automatically forces developers to think in well defined, maintainable structures when creating additional components. Having to name things, in our mind, is a positive (wink Tailwind), especially when working on long-term codebases that often times have to signal intent to consumers (users and developers of the Design System). Communicating intent with semantic markup and structured, well-named classes is a big part of that.

Especially being able to generate CSS3 in the end, while allowing users to choose between just overwriting some values by defining design tokens / component tokens (staying well within the world of standard CSS3) or utilizing all the mixins, functions and utilities we expose for reuse of shared styling and behavior, when using Sass yourself.

Sass variables are not a huge factor for us, as we're writing design tokens and components tokens directly with CSS Properties. We generate some Sass "theme"-files based on those properties for developers working with Sass and wanting to re-use those already defined values!

READ MORE
8 upvotes·22.9K views
Needs advice
on
LaravelLaravel
and
CodeIgniterCodeIgniter

I need to build a web application plus android and IOS apps for an enterprise, like an e-commerce portal. It will have intensive use of MySQL to display thousands (40-50k) of live product information in an interactive table (searchable, filterable), live delivery tracking. It has to be secure, as it will handle information on customers, sales, inventory. Here is the technology stack: Backend: Laravel 7 Frondend: Vue.js, React or AngularJS?

Need help deciding technology stack. Thanks.

READ MORE
16 upvotes·82K views
Replies (8)
Technical Lead at DPO International·
Recommends
Vue.js
Laravel

It's better to use Laravel with Vue.js and also laravel is very lightweight and speed performance.

READ MORE
19 upvotes·63K views
Tech Lead at Founder + Lightning·
Recommends
Laravel

Go for Laravel 8 (not 7, obviously because it's the latest version and has a lot of new features and bug fixes) when it comes to backend coding.

Go for Vue.js (if you don't have any preference) because it is having by default configuration setup in Laravel).

Pick MySQL or PostgreSQL both work fine.

If you know GCP, go for it, otherwise go for Heroku.

Avoid spending time on hosting setup - prefer PaaS based solutions.

In Laravel, try Laravel Breeze or Jetstream - these might make the development much faster - at least for the basic setup that is there.

READ MORE
8 upvotes·50.2K views
View all (8)
Founder & CEO at Moducate·

I'm going to sound like a sales rep for Retool in this Stack Decision, but who cares!

Retool has been simply amazing at allowing us to rapidly create backend administrative interfaces for our platforms and services.

We've gone from having a 50:50 split of time spent developing platforms and developing internal tools to a 95:5 split at least!

I've yet to find an API/database/service that Retool hasn't been able to natively interface with, and their support for arbitrary REST/GraphQL APIs means that I don't foresee myself ever finding a truly incompatible source of data.

And to top it all off, Retool's pricing plans are extremely generous considering how much time has been freed up for us.

It's genuinely frightening how easily, agilely, and affordably we've been able to integrate Retool into our various stacks.

READ MORE
5 upvotes·35.7K views