GithubHelp home page GithubHelp logo

goc-website's Issues

Global Chat

A global chat where we could send instant messages, they may or may not disappear afters24 hours (say) depending on our implementation.

This can be used suppose during GOC classes to notify all users or have some random discussions.

Filter blogs by tags

Selecting a tag should render blogs containing that tag only.
Note: Option to not select any tag
Further: Option to select multiple tags

Handling Blog List Requests Backend

Assuming we have a bunch of blogs, we need to list them out per request. Things to take care of

  1. on a request ot "/blogs", all the existing blogs will be listed pagewise (with each page having a fixed number of blogs)
  2. on a request of "/blogs?tags=...", the blogs with the particular tags as the argument have to be listed pagewise
  3. A proper schema to store the existing blogs along with their tags (a json file?)

Individual and all Problem's frontend.

Note that it should have the following structure.

Problem Statement
Sample Test Case
Explanation
Constraints
Expected Solution
Tags

You're supposed to create two webpages, one at '/problems' that shows the list of all the problems (probably in a table with tags maybe?) and another webpage at '/problems/problem_id = 34' (say), that shows the complete problem with index 34 with all the details.

Home page

Fill main page with

  1. recent blogs (only titles)
  2. Most active users
  3. Most rated users (on codeforces)
  4. Recent submissions on codeforces?

Profile Picture

For now, probably just store link to cf's profile picture (can extract it during login). Also,need to update this in comments.

Blog submissions (Backend)

We need a mechanism for submitting blogs. Assume you receive a post request at "/submitBlog". We need a handler function that handles the post request. It should

  1. verify the presence of all necessary data and metadata
  2. insert it into the database properly while managing the accompanying tags as well
  3. Reutrn success/failure status (the type of error, if it fails)

Minor Enhancements to Blog

  1. All the company names get automatically added as tags.
  2. Interview Experiences only button on forum to only see interview posts.

Collapsable Comments

Every comment should have a (minus) icon beside it, clicking on it collapses the comment including all it's descendants. (similar to reddit. ) The icon should toggle to (plus) +, clicking on which now makes all those comments reappear.

Login and Registration.

login form should have fields

username/email: 
password: 

Sign up form should have fields:

gmail: 
username (cf): 
password: 
confirm password: 

The registration will be confirmed only user changes it email on code forces, with the same email as in here, and make it public, just for a while.

Urgent Minor Bugs/Changes

  1. Signup Form shows error even when you open it.
  2. InterviewBlog doesn't let you add new company (say shortlisting) until you have filled all the fields (even interview_content), which is really a pain in the ass.

Wrap Interview Blogs around Forum's post

Forum will have normal posts that might ask for debugging or anything else.

Merge interview blogs and Forum's post into one, that is the user can create a general post, and choose if it's an interview blog or not, we'll indicate this by some other field maybe. This would also reduce the amount of code that we'll have to write twice by a lot.

Min-Width in text-areas

Right now, all text-areas are extendable and auto-adjust to the height they want because of a script in base.j2. Add support to add min-height to that script so that each text-area can have different minimum height to begin with.

Notifications.

Users should be notified about replies to their comments or blogs.

Improve Web Pages

For now, only the basic skeleton for the website has been implemented. From a viewer's perspective, though it serves the purpose, it loses points in the aesthetics. Hence, improving these webpages is necessary. The required details one has to keep in mind

  1. decide upon a proper theme for the entire website that will be used for all webpages
  2. without making the webpage heavy, an aesthetically attractive design for webpages built over the basic skeleton present
  3. any feature that might be needed but is currently not present (just the frontend part)

Handle Tags in createPost

While creating an interveiw Post, there's no way to add tags now. Create a search-bar where you could type through the handles and search the one you want, or create whole another tag if there doesn't exists any with that name.

Wrap Login SignUp in rectangular boxes.

a rectangular box is defined in main.css. Wrap the login and signup forms using that class. The problem here is that, you do not want the box to take the whole width but only as much as the form needs.

Blog Schema

Create the prototype for how a blog would look like.

Progressive Web App

  1. Allow the user to have 'add to desktop/add shortcut(in mobile)' option.
  2. It should also give notifications in mobile's notification tab, like facebook/whatsapp.

Implement Comments

Maintain parent comments id and also comment's depth so as to break showing nested comments by an offset after fixed depth.

For each post show when it was published (x days ago)

Post has a column for when the post was created.
Time elapsed between creation and display should be rendered in this format : x days ago
If it is less than a day ago, then either show "less than a day ago" OR convert to hours "x hours ago"
Following this manner, for posts created less than an hour ago, display "few minutes ago"

Home Page Design

We need to design a proper frontpage for the website using HTML and CSS. A suitable theme can be employed keeping in mind the aim of the website is to helpful students hence their CP awareness and skills, and prepare for interviews as well. Things necessary (but not restricted to) :-

  1. The Name (Grimoire of Code)
  2. A searchbar
  3. Display of some popular blogs (just the frontend)

Other features could be added as well.

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.