Suggestions on what tools to use with MERN stack - frameworks

summer break is coming up soon and I want to work on a couple of personal projects to practice my coding skills and learn/experiment with new tools and frameworks.
I am planning on working on a personal stock exchange database/website for my first project where I'll store and keep track of stocks and whatever information I want (whether custom or retrieved through APIs) accessible online. I don't know React but I am familiar with the rest of the MERN stack.
My question is what tools/software/(anything else that you think is cool or current) can I use to make it as close to a real-life company software as I can? My goal is to be able to showcase my experience later on when I graduate college and also to have fun with something new.
Edit: An example of something extra I'm looking for could be a service that allows me to collect user data on my website to see how popular it is (I can add functionality to allow people to create accounts for their own profile)
Bonus: If you have any good tutorials or sources that you can recommend me to learn what you would suggest, that would be awesome!

I use "MongoDB Compass" for checking db, "Postman" for testing API, VS code with React Snippets and linters(probably other editors also have something similar) for coding and "react developer tools" chrome extension.
Regarding your project, I highly advice you to use socket.io for real time communication.
I also suggest Asana for project management.
These are the tools I use daily and they are widely used in the industry.

Related

Framework for educational site and forum with single database

I'm newbie in back-end development, that's why I want to start learning not from pure coding but choosing framework. Want to understand, how it works and start writing unique code by myself.
I've tried to choose framework basing on my future project and couldn't do it without the qualified help. I've searched before to write here, but couldn't find all I need. I don't ask for deep pieces of advice, manuals or so here. Hope, that you as more experienced can show me few ways and I'll choose the one by myself.
What I need to do with framework capabilities:
Forum:
one (or crossing) users' database with site
one header and footer for forum and site
changeble design themes (full CSS support)
groups' rights and design
user's rights and design
moderators, admins, plain users
forum sections, that could be nested
themes
visual post formatting
images inserting
symbols counting in posts
symbols counting for each user in theme
Site:
same to forum users, their groups and rights
user profile with settings
guest book
education module: timetable by user group, courses with lessons, homework sending/discussing, homework statuses, marks/journal of all users and user groups, educational statistics for user groups
public user profile with text form data and all marks, forum activity, statuses and other information
autoposting some data from user profile to forum and updating it when changing the profile
inactivation/activation/ban for user accounts
IP viewing for admins: can see, what users/forum's messages have the same IP
messenger: private chats, private and public chat groups, auto-adding users to chats by users' group
private user notes, that are visible only for admins
bonus accrual
store, when users can change bonuses for virtual goods and session of playing game for random gifts
visual map, where everyone can see all forum sections and what users are on them
plain newspaper: issues with structured articles (a la usual blog posts), commenting for users, offering article feature
I know, that it's so much, but project is mine. And it can be developing for a long time. If I need to study a year or few, it's okay.
How do you think, what frameworks have the most of modules for described functional? Please, don't argufy. Write here if you had experience (or you know somebody who had) of realising features, that're described above.
Programming language doesn't matter (because I'm noob in all of them), but I think about Ruby and PHP (and PHPBB forum). Others are ok too, if them can afford what I need.
Sorry if I unknowingly said something wrong. Tell me and I'll fix it.
Your wanting to build a lot for someone that knows nothing about any languages.
First you need to pick a platform/OS.. Windows or Unix/Linux?
From there, you can pick a Web Server to run on based on that OS.
Then that filters out what kind of language your going to write with.
EDIT:
When someone wants to be a mechanic, do they go to each mechanic shop and ask what is the best car to work on? Each mechanic would have a different answer. No one here, will be able to give you a non-bias answer. So here is what I like....
I write code in 18 languages and been have developed software for 25 years. I've written code for DOS, Windows, and Linux/Unix. Each language has it's own limitation and perfections, but I'm not a fan of open source and most Linux/Unix preferred languages even though some can run on Windows. I have a tendency to lean towards windows and enjoy back end development. I've written Web UIs in Angular, JSP, Java Spring Boot, WebFOCUS and ASP Classic. Now that you know more about me, here are my favorites.
I prefer Windows. I prefer C#. If I have to build a web UI, I prefer HTML 5/CSS3/Javascript with an ASP.NET/C# backend. I don't like bootstrap or jquery as I like to write with a small footprint as do most any older developer. The internet is full of garbage that isn't being used by most every site you go to, just so the developer can get a few shortcuts. Bootstrap and JQuery are just javascript libraries of which most sites can do what they want with 1/10 the code the client has to download, if they really knew Javascript.
There ya go, my bias opinion, take it or leave it, but most likely the only honest answer your going to get here.

Which CMS is right for me? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I am looking to help out a non-profit get a website up and running.
Only, they don't just want a website with content, they also want to maintain a database of members, and allow those members to register and pay for classes/events/seminars held by the club.
It seems to me, that if all they wanted was to post content, nearly any of the available CMS's out there would fit the bill.
But the registration portion would require some customization.
I have considered just installing a basic CMS for them, and then creating separate web application for the registration section. And this would still work...
But if I wanted to hook into the users/roles from the CMS and use them in the registration side, I think I would have to have some way of either extending the CMS or easily using it's data in the sub-application.
I have been reading about the following CMS's:
Orchard
Umbraco
C1 Composite
All of them seem to have the ability to be extended, but I'm not certain how much "work" is involved to extend each. Given that my requirements are rather simple and the fact that I don't want to spend a ton of time doing this (it is free work, after all), does anyone have a recommendation?
I'd pass on Umbraco and C1 Composite, as they generally aren't user-friendly. I think Orchard is best, as it has the best feedback of them all. Umbraco is aimed more at developers who want to tweak a lot of things.
Orchard - https://stackoverflow.com/questions/1978360/anybody-using-orchard-cms
Link - Reviews/Comparison of Open Source ASP.NET MVC CMS
Umbraco would be a very good choice because it:
is mature and has a proven track record.
is very easy to use for most use cases.
has a built-in member system which could (and should) be used for the member registration.
has a Big and friendly community always glad to help out.
has lots of plugins and extensions covering some special use cases.
If you will go outside of .NET and IIS, Joomla is another popular CMS in LAMP. This can be hosted in either Unix or Win environments. There's a large community, lots of implementations and robust API for plugins. I run it on MAMP on my Mac, and it also runs on WAMPServer, for development.
Last year I created a membership style site in Joomla using Mighty Extensions for a bed and breakfast listing service (http://uurehome.com). Mighty User and Membership was enough, this adds custom user fields and subscription plans. You do have to pay for Mighty Extensions. Payment for the B&B listings is done thru Paypal, Mighty Membership enables this.
The subscription plan feature is Mighty Membership is very good. You can have length of time, cost renewals, renewal nag messages. Could have written myself, but why at this cost :-)
Joomla can certainly handle the community side of a non-profit site, there's the usual assortment of content, discussions, news feeds and so on. It's also ok for mere mortals to administer.
Not so sure about comparing to Orchard, as I haven't kicked the tires on Orchard. I have done enterprise web CMS for a living in the past, so I am used to evaluating these sorts of products. Orchard looks similar to Joomla in how it works, based on the screenshots I see in the docs. One thing I will say with confidence is that it's easier to standup Joomla (or something LAMP/WAMP/MAMP) than on the MS Webmatrix. However, if you already have a Webmatrix provider, then it's similar. Said by someone that has done a bunch of IIS and pretty much all the web technologies going back to the beginning of time (that's 1993).
Another aspect of using Joomla for me in this project, which is for a small business, was knowing that there's a bunch of Joomla knowledgable web design shops this owner could use if I stop helping her. While I am not going to say there isn't a base of folks doing web design that are doing Orchard, my sense is that its much smaller than Joomla. This is a factor for me in helping non-profits, churches and so on, not leaving them in a place where I am the "only" person that could keep whatever it is running. Still, if there's even a couple of local web design shops that do Orchard, I'd say that's enough to feel comfortable.
We built http://aclj.org on Orchard with a custom membership implementation within to support millions of members. We do form processing through Kimbia for donations and petition signatures. We're very happy with the implementation and feel that Orchard worked out well for us as a platform. It is VERY extensible and we developed 32 custom modules in-house.
For a non profit organization it is unlikely to maintain a costly server where LAMP stack has both low cost server and some decent CMS which meets your requirements perfectly. Some of them are :
Drupal
Joomla
WordPress
Any of them are highly extensible, got a great community support , plenty of themes and modules readily available and you can get awesome things for free though there are some paid once too.
And if you want my recommendation i would go for Drupal as it provides :
Build in role management service.
Very matured and friendly community.
Great scalabilty.
Secured out of the box
And some more .......
Hope that adds a new dimension to your search :)
Best of luck
I would recommend wordpress for your requirement.
Advantages:
1. More forum support.
2. Easy to learn.
3. Very less server cost to host the site.
4. You will have N number of plugins and widgets etc...
Hope It gives some sense :)

Website development/design specification software or tool?

hello supersmart stackoverflow users!
Im wondering.. is there any software or tool (web based or otherwise) that helps and streamlines the whole technical and functional specification writing process so that we as developers/website can sit with clients, assess what they want to create/achieve and write up the spec efficiently and easily so that when its approved it can easily be passed onto the webdev people and they can create what is set out in the specification?
Thank you in advance!
Specfox is a SaaS designed just for that. You upload the screens (layouts or screen grabs), add notes and pinpoint to page elements, and generate PDFs to share with copywriters, designers and developers, or whoever you need to involve. It was the best online website specifications tool I found for a website redesign we did.
If you're still looking, take a look at Axure. It's built just for this. It's awesome

Can WordPress handle these functionalities?

I'm a front-end designer/developer whose weapon of choice for the back-end is WordPress. Up to this point all of my projects involving WordPress were fairly basic and it has handled everything beautifully. I just landed a new client that wants some extra functionality built into his next project and I'm hoping some of you WordPress wizards can give me some good advice while I'm putting together the quote.
I'm trying to limit the need for any subcontracting for the back-end functionality, so my question is whether or not WordPress can handle the following (via plugins or light custom manipulation):
The idea behind the site is to be a community calendar based on location that Health Care providers can log in and post their events to, as well as participate in discussions, blogs and all the other WordPress goodness. The specific functionalities that I'm unsure of the best way to accomplish are:
Full featured calendar that members with access can add their own events to - must be searchable by date/type of event/location etc
Event generator module for members that integrates with calendar - includes upload field for images and forms for details event info
Interactive map to filter both of the above by location (I'm assuming this will need to be flash, but I'd rather find another solution if possible)
I know there are other solutions out there that may be more suited to this than WordPress (Drupal, custom build, etc) but if it's at all possible to tackle this as a one man show then I'm going to charge it head-on!
Stack Overflowers and fellow WordPress fans...your insight would be much appreciated. Thanks in advance for your time.
This graph grants your experience with your weapon of choice, but the results are still clear. You can still tackle this as a 1 man show, it will just take a bit of a learning curve to conquer the fundamentals of a CMS more suited to the task at hand. I'm sure plenty of WordPress affecionados will come along and strangle my reputation, but I've worked with both and have found that in terms of flexibility, WordPress is not king, and for the custom coding you are going to have to do (hope you have some PHP?), I feel that you will find it easier to integrate with another platform. This task will be difficult if not impossible to accomplish without writing code, even if there is a set of plugins that appear on the face to match your needs perfectly.
But anyway, since you probably don't really care that much about my opinion, for WordPress, your plugin options look like..
Calendar - Events Calendar
http://wordpress.org/extend/plugins/events-calendar/
The screenshots don't look terribly promising though.
Most plugins I have found are geared toward being administered from the admin panel, it may be difficult to provide a user interface to such plugins, and it does not look like the event calendar is an exception. An experienced developer should be able to hook into the event publishing code with relative ease, but it could be a frustrating experience for the inexperienced.
For interactive maps, the Google Maps API is very feature rich, and you should be able to adapt it to your suit your mapping needs, regardless of platform.
If you want all of your providers to have their own blog, etc, what was once the WordPress MU plugin, but is now core-bundled WordPress MS (multisite) is what you need.
This again may also prove rigid, and you may encounter difficulty trying to bend the iron of WordPress enabling all your multisite users to be able to post to a common community site. I've only built 2 platforms with MU, so I'm not positive about this.
To unapologetically reiterate my first point, what would be light custom code may turn impossibly frustrating using WordPress.
I like WordPress, and choose it often for my clients. I have never extended it to suit a larger project.
If you do decide to use it, I look forward to hopefully helping you with any questions you may have along the way, feel free to ask.

CMS: Build or Buy? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
This question is a little subjective, however, it aims to give me a bit of information about whether it is better to build or buy.
My company is looking to enter the world of CMSs for our clients websites, do we provide an open source one, or do we build our own model from scratch?
If you buy, which do you use?
If you build, how does your architecture differ?
EDIT: The CMS we are looking to use isn't to maintain our own website, it is something we can offer our clients and pinned onto websites we are custom building for them, it needs to be something that we adapt and manipulate easily for many different website designs and purposes.
How about using opensource one? :-)
Today the only reasons to develop new CMS are:
1) non-usual requirements (deadly rare)
2) You just like to code "your own CMS" (c)
If none is the case, take opensource one.
Personally, I have my own CMS for all my private & commercial purposes, but this was mostly just for programming fun. If you need to deliver, you have to use existing products.
The company I work for wrestled with this same question recently. This depends a lot on your client's expertise and needs. It's generally not advisable to build your own CMS unless you're using it to offer something very novel.
Drupal has lots of plugins available giving a great deal of customizability. It's handy in the same way that most CMSs are in that you can use PHP files as your templates and code them outside of the CMS.
Wordpress has the best user interface of all the CMS's I've used (Drupal, EE, Wordpress, Joomla). If you need to program plugins it's also very well documented and (when the plugin is finished) provides a drag-and-drop interface for the client to make changes to their own web site easily.
I'm currently in the process of moving our site from EE to WP.
Well I can build a simple CMS in less than a day (and everybody can do that with any good web framework). So it depends on how complex it is and how much the open source solutions can do what you want your CMS to do. I generally avoid to use open source CMS because it is usually an overkill compared with my usual client's needs but that's me. Most open source CMS (drupal, joomla, wordpress) have many features that most people simply don't care and they clutter their user interface, so I prefer to build my own as far as it is simple instead of using an open source and struggling to add a new feature and make it scalable.
First, to address your build or "buy" questions - you would be crazy to build. The resourced needed to support code you write as it changes to meet each clients needs will end up costing you a fortune in the long run. It's hard to beat the resources of thousands of developers that many of the big projects have. Does your firm have a security specialist? How about a QA team that constantly searches for ans squashes bugs? Unless you are trying to do a one off, highly specialized application, pick a CMS and go with it.
Next, as far as being able to implement the CMS across many types of sites, that is entirely dependent on your firms developers. If your developer knows XYZ CMS, then he should be able to take any design and make it work for the CMS. Any good CMS has the design layer completely separated from the content and code so the design should not be limited by the CMS in any way. It's just a matter of learning the particular templating system employed by the CMS of your choice.
Last, I am surprised that no one has mentioned the solution to your wanting to limit the amount of control your clients have over their sites. As mentioned you can go the SaaS route and never give the client access to the administrative back end of the site. Any of the good CMS projects offer front end editing. This will allow your client to add/remove/edit the content on the site without giving them access to anything structure or design related. You can completely control the admin, layout, and functionality while the client simply controls the content only, which seems like what you are trying to accomplish.
This depends heavily on what you need, but many CMSs are a platform that you can build upon, getting the best of both worlds.
Wordpress has a very rich plug-in framework.
If you are ok with Windows servers, SharePoint has an extensive plug-in/extension architecture.
I don't think there's any reason to build from scratch unless you are planning to compete in the CMS market.
Do not reinvent the wheel. It takes really a lot of time and money to make a CMS.
If I were you, I would go with an open source CMS, start building custom stuff and contribute back what you can (this is how the company works where I work).
My choice is Drupal, because of the rich set of contribs, excellent flexibility/extensibility and good security.
I think it depends on how many clients are supposed to use the CMS.
We have only one client and built a proprietary CMS which we heavily customize to the client's specific needs.
It also gives us a strategic benefit since this client can hardly migrate his web sites to another company now.
If you have a couple (> 2) of clients who are supposed to use the CMS, IMHO an open source CMS would be the best choice.
Can you develop a new CMS as good as some other ones that have been around for years and hundreds of people have worked on it's development?
That's a question I always ask myself at the start of every website buliding project.
There is surely a good open source platform that meets your requierments and that you can improve.
I suggest these:
Liferay : for large organisations and advanced projects it's written in java. I personally love this CMS. Big places like NASA use it and my company used it for a project, it was great.
Plone : Same as above - language = Python
EZPublish for large organisations but not as advanced as Liferay - language = PHP
Joomla and drupal for normal websites.
As a design agency, presumably with a number of customers with live websites that constantly need to change that are taking manpower away from new projects,
My first question would be if I intend to migrate my existing customers to the CMS based version of their site
Then, What are the commonalities/differences in your customer sites?
If there is a lot of commonality (in the back end code as opposed to the front end design), then maybe integrating a basic article editor is all you need?
Look at how a CMS is going to affect your design flow, Your designs will then be CMS 'Themes', that'll be a learning curve.
I'm not trying to discourage you from Buying or Building a CMS, but the decision will be completely decided by your companies situation.
Personally I use Joomla and DotNetNuke. I'm a developer not a designer, so I buy off the shelf themes and modify them. I also had no existing clients when I started out. I decided to use a CMS specifically because I could buy themes, and secondry to that was the client modifying the articles.
I cant think of an open source CMS that doesn't provide everything that most companies would need.
you get the benefits of bug fixes, little deployment time and ease of documentation.
When selecting the CMS try to use one that is not too bulky or not too popular.
most CMS allow for easy expansion so if a client has special needs then its easy to add functionality.
A reason that you start to build you're CMS could be because the landscape of CMS systems is big (and you can't make up your mind on one system to put in all you're energy).
Do you want a simple CMS for a website, an integrations framework or personalization / social media.
As there are a lot of OS CMS out there, I wouldn't recommend you to start from scratch. Check for research EG:
http://www.slideshare.net/OpenSourceCMS/451-group-future-of-web-content-management-open-source-cms
Also check the OS license of products and how this could affect your projects.
Good luck!
Lots of good responses already, but I don't see anyone talking about the real users, the customer who is paying for this site.
One reason a CMS product is often better is that it can give you a lot of help material, usability refinements and add-ons that you won't get when you build it yourself. More importantly for the end-users, it can mean they extend and add to the site without needing to get IT to give them permission (and the run-around on budget/resources) to do so.
Another issue is that if you build it yourself, then that is the only copy of that software that is being security tested and probed. A product will have been through more penetration tests and probing.
On the other hand there are a wealth of CMS' out there and it can be confusing if you do not know what you want. The CMS Matrix is a good site for comparing all sorts of CMS' to find one that suits your needs.
I work for a CMS vendor, Elcom Technology, so I am slightly biased - but I have also used WordPress, SharePoint, DotNetNuke, Joomla and Drupal to various levels of degree and they all offer a big step up over something home-built.
A very important reason why you may want to choose something that is already made (FOSS or commercial) is that someone else may be able to support it.
PS
I've used CMSMS on various projects. It has enough user control to let them edit, but not mess with the layout and stuff.