GithubHelp home page GithubHelp logo

ananto30 / golpo Goto Github PK

View Code? Open in Web Editor NEW
5.0 3.0 1.0 2.95 MB

Social network using react and express (old version of the current golpo.vercel.app)

Home Page: http://golpo13.herokuapp.com/

License: GNU Affero General Public License v3.0

HTML 1.93% JavaScript 96.57% CSS 1.08% Dockerfile 0.42%
react express social-network

golpo's Introduction

Golpo

Depfu Depfu

NEW VERSION - https://github.com/Ananto30/golpo-svelte

A simple social network web app built with React and Express. This is the 2nd version of the https://github.com/Ananto30/golpo13 which I built a few years back. The main purpose is to write clean code and use a frontend technology like React.

We can continue this as an open platform for people!

This is not a mobile friendly web app! Not responsive!

Installation

The Express server and React client are both served by the Express server.

Mostly if you want to run the whole app, you have to set the env variables. All of them can be found in server/config.js file. After setting those in you env -

cd client
npm install
npm run build

cd ../
npm install
npm start

This will basically run the Express app and the build files of React app will be served by express static.

But for development, probably you wouldn't want to build every time. So you can just start the server with npm start. And then go to the /client directory and start the React development with npm start

Feature level todo's

  • Google login

  • Home page with all posts, user card, and activity feed

  • Home page posts with the comment count

  • Post with comment (when clicked in comment) and able to post new comment

  • Realtime activity feed in several pages (state managed by mobx)

  • Activity feed updates with specific activities from user (like new post, comment and profile changes)

  • Profile page with user-specific posts

  • Profile page with a text area to post a new post ๐Ÿ˜

  • User card with image change option (people don't notice it!)

  • Tagline and work is changeable from user card with edit profile button

  • Users page with all users, clickable to go to their profile

  • Send message option with other user's profile

  • Message page with recent chats

  • Message page's recent chat is clickable to open chat history of that user

  • Realtime messaging (using socket.io)

  • MAKE IT RESPONSIVE

  • Option to use google image

  • Message seen

  • New message/chat notification

  • Notification for comment in user's post

  • Notification for same post commenters

  • Follow option for users (for now it's the least priority)

  • User registration

.............. and much more.

Code level todo's

  • Clean code (not fully, there's always room for improvement and debate ๐Ÿป)

  • Decouple service, model and controller in Express

  • State management for necessary components in React (using mobx)

  • Code refactor in React

  • Proper error handling (with global) in Express

  • Proper error handling in React

  • Password hashing, as there's no registration option now, there's no password to save, this will be done when registration feature will come

............... and much more.

Contributing

There's a lot to do. So please contribute to make Golpo great again ๐Ÿ˜…

License

[license

golpo's People

Contributors

ananto30 avatar dependabot[bot] avatar depfu[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

golpo's Issues

No title casing & validation at server side

Hi @Ananto30 ,

Our discussion at comment section in your Dev.to post brought me here. I was just going through your code. It's a really great job.

I would not say an issue, but implementing title casing on fields like Name of the user at server side before saving it to the database is a good practice to have. Like i entered my name while registering as "PanKaj tanWar" , it will be saved like this only. Which looks bad, as per my opinion. Whatever the name user enter, save it as "Pankaj Tanwar".

Apart from this, having a custom validation at Password for the security, at Name for having a valid length, at email etc.

What are your thoughts ?

Pankaj

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.