Code Monkey home page Code Monkey logo

cms-9's Introduction

amfoss-cms-cover

amFOSS CMS

Watchers Star Gazers Forks

Travis CI Version 0.1 GNU Total alerts Open Issues PRs Contributors

amFOSS Club Management System (CMS) is django-based web-app which lays framework for the amfoss website, the amfoss webapp, and the amfoss app.

The portal is primarily a django based application, and to set it up we require to have python environment with django and other project dependencies installed. Though one can work with the project without an virtual environment, it is recommended to use one so as to avoid conflicts with other projects.

  1. Make sure that you have Python 3 and pip installed. Install virtualenvwrapper, and add it to your terminal path. Restart your terminal, to make the changes live.

       $ sudo pip install virtualenvwrapper
       $ echo 'export WORKON_HOME=~/Envs' >> ~/.bashrc
       $ echo 'mkdir -p $WORKON_HOME' >> ~/.bashrc   
       $ echo 'source /usr/local/bin/virtualenvwrapper.sh' >> ~/.bashrc   
    
  2. Clone the repository, and create a virtual environment for the project, and work on the newly set up environment.

        $ git clone https://github.com/amfoss/cms.git
        $ cd cms
        $ mkvirtualenv --python=python3 amfoss
        $ workon amfoss
    
  3. Install the project dependencies from requirements.txt

        $ pip install -r requirements.txt
    

You have now successfully set up the project on your environment. If you encounter any problems during installation, you can refer to installation page on our wiki.

After Setting Up

From now when you start your work, run workon amfoss inside the project repository and you can work with the django application as usual -

  • python manage.py migrate - set up database
  • python manage.py createsuperuser - create admin user
  • python manage.py runserver - run the project locally

Make sure you pull new changes from remote regularly.

๐Ÿš€ Data Models

๐ŸŽ‰ Activities

The activity app tracks the activities of the club members.

  1. Certificates - carries certificates recieved by club members, also allows to upload them as attachments.
  2. Courses - records courses completed by club members, includes link to certificate.
  3. Events - logs events attended by student members such as Conference, Hackathons, Internships, Exchange Programmes etc.
  4. Honours - records achievements and honours recieved by club members, includes link to project, certificate.
  5. Projects - holds projects of the club, club teams and club members
  6. Publications - records publications made by club members
  7. Talks - records talks given by club members

๐Ÿ“ฎ Blog

The blog app manages the blog of the club

  1. External Posts - manages external posts published by club members by including them through links
  2. Posts - contains posts published by club members, with tags and categories.

๐Ÿ“ Pages

The pages app manages the content and templates for the foss-website.

Opitionally, it can also be used as a fallback to amfoss-webapp. It can used to server a minimal read-only version of the amfoss-webapp

๐Ÿ‘ง Members

The members app manages the profile and data of the club members

  1. Attendance - records and tracks attendance of club members inside FOSSLab
  2. Groups - manages groups inside the club
  3. Leave Records - records and manages the leave requests of club members
  4. Mentor Groups - manages mentor-menteee relationship of club members
  5. Profiles - manages the member profile
  6. Responsibilities - manages the various responsibilities held by a group of members
  7. Teams - manages the various internal teams inside the club

๐Ÿ“จ Status

The status app manages the reporting system in the club

  1. Status - holds status updates posted by members, under different threads, for various subjects.
  2. Notifications - manages notifications

๐Ÿ’ซ API

The amFOSS CMS ships with GraphQL-based APIs, which can be accessed at /graphql. To help developers, GraphiQL, a tabbed interface (playground) for editing and testing our GraphQL queries/mutations, also has been furnished .

Documentation on the supported APIs has been provided in the wiki page.

๐Ÿ“ก Integrations

  1. Attendance Module - the amFOSS attendance module is a raspberry-pi which live records the attendance of club members when they are in the FOSSLab. The AmFOSS CMS fetches attendance details from it and logs it.
  2. Telegram Bot - the amFOSS Telegram Bot is the bot assistant of the AmFOSS Telegram group. The AmFOSS CMS triggers the bot to send notifications, statistics etc. to the group.
  3. GitHub - Integrates with GitHub to actively track the FOSS contributions made by club members

๐Ÿ”ง Tech Stack

  • Language: Python 3
  • Framework: Django 2.1
  • API: GraphQL (Graphene + JWT)

๐Ÿ’Ž Contributors

Developed with โ™ฅ๏ธ by the amFOSS WebTeam from 2018.

  1. Ashwin S Shenoy - Core Developer, Maintainer

How to Contribute?

  1. Fork the repository, clone it locally and run it following the installation instruction above.
  2. Find an issue or feature to work on, and put up an issue.
  3. Work on the patch or feature, test it and send a pull request referencing the issue.

โœ’๏ธ License

This repository is licensed under GNU General Public License V3. Though it was tailor-made for amFOSS, you are welcome to adapt it, make it yours. Just make sure that you credit us too.

Icons in the app by Icons8 are licensed under Creative Commons Attribution-NoDerivs 3.0.

cms-9's People

Contributors

aswinshenoy avatar c-anirudh avatar harshithpabbati avatar imgbotapp avatar puneeth2001 avatar

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.